Security fix · CVE-2026-113787
odf-kit allows users to generate, fill, read, and convert OpenDocument Format files (.odt, .ods) in TypeScript and JavaScript.
Published Oct 21, 2026 · catalog updated Nov 4, 2026 · odf-kit allows users to
Last checked Nov 5, 2026. A connected source was read within the last 7 days.
Check if you run it
No confirmed exploitation is on record for CVE-2026-113787. EPSS is 0.25%. Act only if a listed version of odf-kit allows users to is installed.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (odf-kit allows users to).
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- Severity
- Medium6.1
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- 0.25%
- Remediation
- Version ranges on file
- Affected products
- npm odf-kit
### Summary ODF style attribute values are interpolated into attributes without HTML-escaping in **both** of odf-kit's to-HTML renderers ( and ). A double-quote character inside an attacker-controlled style value breaks out of the attribute, allowing arbitrary HTML/attribute injection — and therefore script execution (XSS) — from a crafted or file wherever the rendered output is inserted as HTML, which is the documented purpose of both functions. ### Details #### ODT renderer ( ) The renderer has an helper and applies it consistently to text content and to attribute values — , , , , , , citation text all go through it. The inline CSS strings do not. In (dist/odt/to-html/html-renderer.js:195): The value of e.g. is copied from the document into verbatim by the parser ( , read/parser.js:348), then concatenated raw into the attribute. A in the value terminates the attribute early. The same unescaped pattern appears at roughly ten other emission sites: paragraph and heading ( ), table cells and rows ( , ), , and the image style attribute. The affected source attributes include , , , , (via both direct and font-face resolution), , , , , and . #### ODS renderer ( ) — same bug assembles the CSS string from cell formatting properties — , , , , , etc. — with zero calls, and emits it raw (line 65): Additionally, (from ) goes raw into the row element (line 95): The same injection is reachable through the public export ( ), so both to-HTML directions are affected. #### Version scope The and modules first shipped in **0.14.0**; the current latest release is **0.14.1**. The PoCs were re-ran against the unreleased branch (commit ) — both injections still fire, so no fix has landed past the release. ### PoC Each PoC is a minimal ODF package ( + + ) whose contains exactly one poisoned automatic style. The files are generated by this short Python script (stdlib only, no dependencies) — save as and run : This produces , and . The only attacker-controlled input is the value on the style
Are you affected?
Enter the version you run. The result uses only the ranges stored on this record.
The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.
- npm odf-kit>= 0.6.0, < 0.14.2
How to fix CVE-2026-113787
Upgrade
CVE-2026-113787 lists a fix boundary at 0.14.2. Compare the installed build with that boundary before you change production.
Version check
Affected < 0.14.2
Advisory
Open the cve_org record and follow its fix.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
No confirmed exploitation is on record for CVE-2026-113787. EPSS is 0.25%. Act only if a listed version of odf-kit allows users to is installed.
Which versions are affected?
Compare what you have installed with >= 0.6.0, < 0.14.2. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-79: Cross-site Scripting (XSS). EPSS 0.25%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 21, 2026 · NIST NVD
Detected
odf-kit allows users to generate, fill, read, and convert OpenDocument Format files (.odt, .ods) in TypeScript and JavaScript. Starting in version 0.6.0 and prior to version 0.14.2, he renderer has an helper and applies it consistently to text content and to attribute values — , , , , , , citation text all go through it. The inline CSS strings do not. In ( ), the value of e.g. is copied from the d
Oct 21, 2026 · NIST NVD
Updated
odf-kit allows users to generate, fill, read, and convert OpenDocument Format files (.odt, .ods) in TypeScript and JavaScript. Starting in version 0.6.0 and prior to version 0.14.2, he renderer has an helper and applies it consistently to text content and to attribute values — , , , , , , citation text all go through it. The inline CSS strings do not. In ( ), the value of e.g. is copied from the d
Nov 4, 2026 · GitHub Advisory Database
Updated
### Summary ODF style attribute values are interpolated into attributes without HTML-escaping in **both** of odf-kit's to-HTML renderers ( and ). A double-quote character inside an attacker-controlled style value breaks out of the attribute, allowing arbitrary HTML/attribute injection — and therefore script execution (XSS) — from a crafted or file wherever the rendered output is inserted as HTML,
Sources
- CVE.orgVulnerability recordCVE-2026-113787
Official CVE identifier
cve.org - FIRST EPSSExploitation probabilityCVE-2026-113787
30-day exploitation probability 0.25%
first.org - GitHub Advisory DatabasePackage advisoryGHSA-3cgg-c5pp-57h6
odf-kit: HTML injection leading to XSS in odtToHtml() and odsToHtml() via unescaped style attribute values
github.com - GitLab Advisory DatabasePackage advisoryCVE-2026-113787
ODF style attribute values are interpolated into style="…" attributes without HTML-escaping in both of odf-kit's to-HTML renderers (odtToHtml and odsToHtml). A double-quote character inside an attacker-controlled style value breaks out of the attribute, allowing arbitrary HTML/attribute injection — and therefore script execution (XSS) — from a crafted .odt or .ods file wherever the rendered
advisories.gitlab.com - NIST NVDVulnerability recordCVE-2026-113787
odf-kit allows users to generate, fill, read, and convert OpenDocument Format files (.odt, .ods) in TypeScript and JavaScript. Starting in version 0.6.0 and prior to version 0.14.2, he renderer has an helper and applies it consistently to text content and to attrib
nvd.nist.gov
References
Freshness
Last verified in this catalog Nov 3, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.
- GitLab Advisory DatabaseNov 5, 2026
- GitHub Advisory DatabaseNov 4, 2026
- FIRST EPSSNov 3, 2026
- CVE.orgOct 22, 2026
- NIST NVDOct 22, 2026