phpMyFAQ has unauthenticated FAQ permission bypass via getFaqBySolutionId fallback query
概要
phpMyFAQ has unauthenticated FAQ permission bypass via getFaqBySolutionId fallback query
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
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…
出典: NIST National Vulnerability Database NVD GitHub Advisory
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
phpMyFAQのバージョン4.1.2未満には情報漏洩の脆弱性が存在します。getIdFromSolutionId()メソッド内で認証不足による権限フィルタリングが欠如しており、攻撃者が制限されたFAQ項目のタイトルを列挙可能です。この脆弱性により、認証されていない攻撃者が特定したIDを用いて制限されたFAQ情報を漏洩する可能性があります。
phpMyFAQのgetIdFromSolutionId()メソッドにおける情報漏洩の脆弱性です。
phpMyFAQ バージョン4.1.2未満
認証されていない攻撃者が制限されたFAQ項目を列挙し、機密情報を漏洩する可能性があります。
バージョンを4.1.2以上にアップデートしてください。
パッチが提供されるまで、FAQシステムへのアクセス制限を強化することが推奨されます。
ログを確認し、予期しない/solution_id_{id}.htmlエンドポイントへのアクセスを検出します。
影響パッケージ
参照URL
- advisory nvd.nist.gov
- package github.com
- web github.com
- web vulncheck.com
- web github.com
- web github.com