Authorization Flaw in thorsten/phpmyfaq (CVE-2026-46366)
Summary
Vulnerability in thorsten/phpmyfaq (CVE-2026-46366). Confidential information can be exposed externally. Exploitable via faqdata. Mitigation: upgrade to 4.1.2 or later.
Original description
The description as published by the source.
Summary
The public /solution_id_{id}.html route calls Faq::getIdFromSolutionId() in phpmyfaq/src/phpMyFAQ/Faq.php:1312. That query joins faqdata with faqcategoryrelations solely by solution_id and returns the matching FAQ's id, lang, thema (title), and category_id with no permission filter. An unauthenticated visitor hits the route with a sequential integer and the server 301-redirects to /content////.html, leaking the FAQ's existence, internal id, language, category binding, and title via the redirect's Location header and the redirected page's canonical link, share-to-social URLs, and hidden form fields. The related getFaqBySolutionId() at line 1221 contains an explicit fallback query (added "for tests") that also bypasses the permission filter, widening the blast radius to any callsite that trusts its result.
Details
The sink: getIdFromSolutionId() has no permission filter
phpmyfaq/src/phpMyFAQ/Faq.php:1312:
public function getIdFromSolutionId(int $solutionId): array
{
$query = sprintf(
'SELECT fd.id, fd.lang, fd.thema AS question, fd.content, fcr.category_id
FROM %sfaqdata fd
LEFT JOIN %sfaqcategoryrelations fcr
ON fd.id = fcr.record_id AND fd.lang = fcr.record_lang
WHERE fd.solution_id = %d',
Database::getTablePrefix(),
Database::getTablePrefix(),
$solutionId,
);
// ...
}
No WHERE-clause permission filter, no group/user filter. Ever…
Source: NIST National Vulnerability Database NVD GitHub Advisory
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
phpMyFAQのバージョン4.1.2未満には情報漏洩の脆弱性が存在します。getIdFromSolutionId()メソッド内で認証不足による権限フィルタリングが欠如しており、攻撃者が制限されたFAQ項目のタイトルを列挙可能です。この脆弱性により、認証されていない攻撃者が特定したIDを用いて制限されたFAQ情報を漏洩する可能性があります。
phpMyFAQのgetIdFromSolutionId()メソッドにおける情報漏洩の脆弱性です。
phpMyFAQ バージョン4.1.2未満
認証されていない攻撃者が制限されたFAQ項目を列挙し、機密情報を漏洩する可能性があります。
バージョンを4.1.2以上にアップデートしてください。
パッチが提供されるまで、FAQシステムへのアクセス制限を強化することが推奨されます。
ログを確認し、予期しない/solution_id_{id}.htmlエンドポイントへのアクセスを検出します。
Affected packages
References
- advisory nvd.nist.gov
- package github.com
- web github.com
- web vulncheck.com
- web github.com
- web github.com