Read the docs
TI-2026-34077 Aliases CVE-2026-46360GHSA-whqh-9pq5-c7r3

phpMyFAQ - Stored XSS via Entity Decoding Depth Limit Bypass in SVG Sanitizer

Priority MEDIUM 56CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
Cross-site scripting
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.

Summary

phpMyFAQ before 4.1.2 contains a stored cross-site scripting vulnerability in SvgSanitizer::decodeAllEntities() that limits recursive entity decoding to 5 iterations, allowing attackers to bypass sanitization. Authenticated users with FAQ_EDIT permission can upload malicious SVG files with deeply nested ampersand encoding around numeric HTML entities to reconstruct javascript: URLs, which execute arbitrary JavaScript when clicked by other users viewing the uploaded SVG.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00187 8th percentileScored 2026-11-07
Fix Fixed phpmyfaq (thorsten): 4.1.2phpmyfaq/phpmyfaq (Packagist): 4.1.2+1 more product

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
thorstenphpmyfaqbefore 4.1.24.1.2Patch availableCNA
—phpmyfaq/phpmyfaq (Packagist)before 4.1.24.1.2Patch availableGHSA-whqh-9pq5-c7r3
—thorsten/phpmyfaq (Packagist)before 4.1.24.1.2Patch availableGHSA-whqh-9pq5-c7r3
  • phpmyfaq Vendorthorsten Affected before 4.1.2 Fixed in 4.1.2 Patch available CNA
  • phpmyfaq/phpmyfaq (Packagist) Vendor— Affected before 4.1.2 Fixed in 4.1.2 Patch available GHSA-whqh-9pq5-c7r3
  • thorsten/phpmyfaq (Packagist) Vendor— Affected before 4.1.2 Fixed in 4.1.2 Patch available GHSA-whqh-9pq5-c7r3

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:phpmyfaq:phpmyfaq:*:*:*:*:*:*:*:*——thorsten
  • cpe:2.3:a:phpmyfaq:phpmyfaq:*:*:*:*:*:*:*:* Versions — — ·thorsten

Remediation

  • Fix · CNA phpmyfaq (thorsten) Fixed in 4.1.2
  • Fix · GHSA-whqh-9pq5-c7r3 phpmyfaq/phpmyfaq (Packagist) Fixed in 4.1.2 Advisory →
  • Fix · GHSA-whqh-9pq5-c7r3 thorsten/phpmyfaq (Packagist) Fixed in 4.1.2 Advisory →

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    thorsten phpmyfaq 4.1.2

    13 records Highest priority Priority HIGH 5 HIGH, 8 MEDIUM

    Other records, highest priority first

    • TI-2026-32868 phpMyFAQ - Unauthenticated Two-Factor Authentication Brute-Force via /admin/check EndpointPriority HIGH 81
    • TI-2026-34083 phpMyFAQ - Unauthenticated Information Disclosure via getIdFromSolutionId Permission BypassPriority HIGH 77
    • TI-2026-34084 phpMyFAQ - Stored XSS via Utils::parseUrl() in Comment RenderingPriority HIGH 69

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-46360
  2. 2026-10-03 Alias added: GHSA-whqh-9pq5-c7r3

References

  • TI-2023-00296 Improper Authentication in thorsten/phpmyfaq CVSS 3.1CRITICAL 9.8
  • TI-2026-76118 Authentication bypass in phpMyFAQ via WebAuthn credential injection CVSS 4.0CRITICAL 9.3
  • TI-2026-32868 phpMyFAQ - Unauthenticated Two-Factor Authentication Brute-Force via /admin/check Endpoint CVSS 4.0CRITICAL 9.3
  • TI-2026-76108 Unauthenticated denial of service in phpMyFAQ API pagination CVSS 4.0HIGH 8.7
  • TI-2026-53313 phpMyFAQ 3.1.0 through 4.1.6 Authentication Bypass via LDAP CVSS 4.0HIGH 8.8
  • TI-2026-34083 phpMyFAQ - Unauthenticated Information Disclosure via getIdFromSolutionId Permission Bypass CVSS 4.0HIGH 8.7
See all 224 →

Sources