GitHub Advisoryadvisory · npm
GHSA-x7m8-jrm8-hpvx @eigenpal/docx-editor-react: CSS injection and print-time XSS via unescaped embedded font-family name
HIGH
Official page ↗
- Ecosystem
- npm
- Packages
- @eigenpal/docx-editor-core, @eigenpal/docx-editor-react
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
- Weaknesses
- CWE-79
- Reviewed
- 2026-09-10
Affected packages
• npm @eigenpal/docx-editor-core: < 1.8.3 → fixed in 1.8.3
• npm @eigenpal/docx-editor-react: < 1.8.3 → fixed in 1.8.3
Description
Summary
Embedded font-family names (`word/fontTable.xml`) were interpolated unescaped into an injected `@font-face` `` and into the print window's `document.write()`. A crafted name injects page-wide CSS on open, and breaks out of ``
into executable HTML on Print.
Impact
Opening a crafted `.docx` applies attacker-controlled CSS page-wide with zero clicks (overlay/phishing, attribute-selector exfiltration of input values, tracking beacons). Clicking Print escalates to script execution in the embedder's origin.
Remediation
Upgrade to 1.8.3. Font names are CSS-escaped before interpolation (quotes, backslash, ``, and CSS newlines), and the print window is assembled with DOM APIs instead of `document.write`.
Related
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness