eigenpal/docx-editor · Security

@eigenpal/docx-editor-react: CSS injection and print-time XSS via unescaped embedded font-family name

GHSA ID
GHSA-x7m8-jrm8-hpvx
Severity
high
Published
Updated
CVSS
8.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
CVSS v3
8.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N

Description

Summary

Embedded font-family names (word/fontTable.xml) were interpolated unescaped into an injected @font-face <style> and into the print window's document.write(). A crafted name injects page-wide CSS on open, and breaks out of <style> 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.

CWEs

References