---
id: CVE-2026-46360
title: phpMyFAQ - Stored XSS via Entity Decoding Depth Limit Bypass in SVG Sanitizer
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 FA…
severity: medium
cvss: 5.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N'
cvssSource: cna
cwe:
  - CWE-79
vendor: thorsten
product: phpmyfaq
affected:
  - phpmyfaq < 4.1.2
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-05-15T20:15:56.802980Z'
exploitAvailable: true
published: '2026-05-15'
updated: '2026-11-08'
sourceUpdated: '2026-11-08T14:03:52.725Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-46360'
references:
  - url: >-
      https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-whqh-9pq5-c7r3
    label: GitHub Security Advisory (GHSA-whqh-9pq5-c7r3)
  - url: >-
      https://www.vulncheck.com/advisories/phpmyfaq-stored-xss-via-entity-decoding-depth-limit-bypass-in-svg-sanitizer
    label: >-
      VulnCheck Advisory: phpMyFAQ - Stored XSS via Entity Decoding Depth Limit
      Bypass in SVG Sanitizer
tags:
  - cve.org
  - exploit-available
epss: 0.00187
epssPercentile: 0.08339
ingestedAt: '2026-11-08T14:51:22.419Z'
---

## Overview

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.

## Affected

- `phpmyfaq < 4.1.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
