XSS in Getgrav Grav-Plugin-Admin2

CVE-2026-85600

Grav Admin (getgrav/grav-plugin-admin2) versions <= 2.0.19 contain a stored cross-site scripting vulnerability in the tHtml() function (src/lib/stores/i18n.svelte.ts), which substitutes untrusted parameters such as usernames into translation templates before parsing the result as markdown. Grav's server-side username validation (DataUser::isValidUsername) blocks filesystem-dangerous characters but not <, >, ", or ', allowing an attacker to register a username containing an HTML payload. When an administrator views a UI surface that renders the username through tHtml()—such as the two-factor force-disable confirmation prompt or the 'page is locked' editor notice—the payload executes in their authenticated session. Fixed in 2.0.21.

Vulnerability class: XSS (Cross-Site Scripting)

Published · last modified .

CVSS v3 metric

CVSS v3 base score 5.4 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N.

EPSS exploit prediction

EPSS: 0.002 (13.5th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 13th percentile — 13.5% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-85600: held from 0.002 to 0.002.

EPSS over last 30 days · oldest: 0.002 · newest: 0.002 · change: +0.001

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-85600?
CVE-2026-85600 is a medium-severity vulnerability in Getgrav Grav-Plugin-Admin2, classified under Cross-site Scripting. CVSS score: 5.4/10. Published 2026-09-04.
How severe is CVE-2026-85600?
Medium severity. CVSS v3 base score is 5.4 out of 10.