Description
phpMyFAQ before 4.1.5 applies inconsistent active=yes and publication-date filtering across its public FAQ API endpoints, allowing unauthenticated attackers to retrieve inactive (draft or review-only) FAQ content. Specifically, GET /api/v3.1/faq/{categoryId}/{faqId} returns the inactive FAQ title and full answer, while GET /api/v3.1/faqs/tags/{tagId} and GET /api/v4.0/faqs/tags/{tagId} return the inactive FAQ title and answer preview, disclosing non-public content.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| phpMyFAQ | phpMyFAQ | 4.1.0 – < 4.1.5 | 4.1.5 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | phpmyfaq/phpmyfaq | >= 4.1.0, < 4.1.5 | 4.1.5 | GHSA-mf8r-wm2w-f8c5 |
| Packagist | thorsten/phpmyfaq | >= 4.1.0, < 4.1.5 | 4.1.5 | GHSA-mf8r-wm2w-f8c5 |
References
- GitHub Security Advisory (GHSA-mf8r-wm2w-f8c5) vendor-advisory
- VulnCheck Advisory: phpMyFAQ - Information Disclosure of Inactive FAQ Content via Public API Endpoints third-party-advisory