SVG with embedded scripts can lead to cross-site scripting attacks in xml2rfc
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-79.
Summary
xml2rfc allows `script` elements in SVG sources. In HTML output having these script elements can lead to XSS attacks. Sample XML snippet: ``` <artwork type="svg" src="data:image/svg+xml,%3Csvg viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cscript%3E window.alert('Test Alert'); %3C/script%3E%3C/svg%3E"> </artwork> ``` ### Impact This vulnerability impacts website that publish HTML drafts and RFCs. ### Patches This has been fixed in version [3.12.4](https://github.com/ietf-tools/xml2rfc/releases/tag/v3.12.4). ### Workarounds If SVG source is self-contained within the XML, scraping `script` elements from SVG files. ### References * https://developer.mozilla.org/en-US/docs/Web/SVG/Element/script ### For more information If you have any questions or comments about this advisory: * Open an issue in [xml2rfc](https://github.com/ietf-tools/xml2rfc/) * Email us at [[email protected]](mailto:[email protected]) * [Infrastructure and Services Vulnerability Disclosure](https://www.ietf.org/about/administration/policies-procedures/vulnerability-disclosure/)
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | xml2rfc (PyPI) | before 3.12.4 | 3.12.4 | Patch available | GHSA-cf4q-4cqr-7g7w |
- xml2rfc (PyPI) Vendor— Affected before 3.12.4 Fixed in 3.12.4 Patch available GHSA-cf4q-4cqr-7g7w
Remediation
- Fix · GHSA-cf4q-4cqr-7g7w xml2rfc (PyPI) Fixed in 3.12.4 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-cf4q-4cqr-7g7w
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences