Cross-site Scripting (XSS) - Stored in thorsten/phpmyfaq
Description
Cross-site Scripting (XSS) - Stored in GitHub repository thorsten/phpmyfaq prior to 3.1.12.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Stored XSS in phpMyFAQ < 3.1.12 allows attackers to inject arbitrary web scripts via category names in the admin panel.
Vulnerability
Overview
CVE-2023-1885 is a stored cross-site scripting (XSS) vulnerability in the phpMyFAQ open-source FAQ application. Versions prior to 3.1.12 fail to properly sanitize category names when displaying them in the administration interface. The root cause is the missing conversion of HTML entities in category name output, as shown in the fix commit that adds a call to Strings::htmlentities() [3].
Exploitation
Vector
An authenticated user with the ability to create or edit categories (typically an administrator) can inject arbitrary JavaScript or HTML into the category name field. This stored payload is then rendered unsanitized on category management pages, executing in the browsers of other admin users who view or manage those categories [1][4]. No additional authentication is required on the victim's part beyond being an authenticated admin.
Impact
Successful exploitation enables an attacker to execute arbitrary scripts in the context of an administrator's session. This could lead to session hijacking, defacement of admin pages, theft of sensitive data, or further privilege escalation within the application. The stored nature of the XSS means the payload persists until cleaned, potentially affecting multiple users over time.
Mitigation
The vulnerability is fixed in phpMyFAQ version 3.1.12 [2]. Users are strongly advised to upgrade immediately. The fix explicitly applies Strings::htmlentities() to category names before output, preventing HTML injection [3]. No workarounds are documented.
AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
thorsten/phpmyfaqPackagist | < 3.1.12 | 3.1.12 |
Affected products
3- thorsten/thorsten/phpmyfaqv5Range: unspecified
Patches
1fecc803ab9c3fix: added missing conversion to HTML entities
1 file changed · +4 −2
phpmyfaq/admin/category.main.php+4 −2 modified@@ -21,6 +21,7 @@ use phpMyFAQ\Category\CategoryRelation; use phpMyFAQ\Database; use phpMyFAQ\Filter; +use phpMyFAQ\Strings; if (!defined('IS_VALID_PHPMYFAQ')) { http_response_code(400); @@ -319,9 +320,10 @@ foreach ($category->getCategoryTree() as $id => $cat) { // CategoryHelper translated in this language? if ($cat['lang'] == $lang) { - $categoryName = $cat['name']; + $categoryName = Strings::htmlentities($cat['name']); } else { - $categoryName = $cat['name'] . ' (' . $languageCodes[strtoupper($cat['lang'])] . ')'; + $categoryName = Strings::htmlentities($cat['name']) . + ' (' . $languageCodes[strtoupper($cat['lang'])] . ')'; }
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4News mentions
0No linked articles in our index yet.