CVE-2026-9318 tablib versions prior to 3.10.0 Stored XSS via HTML Export Dataset Title
Attackers can execute arbitrary JavaScript via stored XSS in tablib HTML exports by embedding malicious payloads in dataset titles, leading to session hijacking and data exposure.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-9318?
CVE-2026-9318 is a medium-severity cross-site scripting vulnerability in Jazzband tablib, published on 12 Aug 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
tablib prior to 3.10.0 contains a stored cross-site scripting vulnerability in the HTML export functionality that allows attackers to execute arbitrary JavaScript by embedding malicious payloads in dataset titles, which are interpolated unsanitized into HTML output via the export_book method in the _html.py format handler. Attackers can rename worksheet sheets in imported files such as XLSX, ODS, XLS, or YAML with script payloads that are assigned to the Dataset title attribute and rendered unescaped inside an HTML h3 tag, leading to session hijacking, unauthorized administrative actions, and sensitive data exposure when the output is rendered in a browser.
Weakness: CWE-79
Which versions are affected by CVE-2026-9318?
3 open source packages ship an affected version, including tablib.
| Package | Affected | Fixed in |
|---|---|---|
tablib PyPI | All versions | 3.10.0 |
tablib PyPI | All versions | 3.10.0 |
tablib PyPI | All versions | 3.10.0 |
Linux distribution packages (1)
python-tablib openSUSE:Tumbleweed | All versions | 3.10.0-1.1 |
How do I fix CVE-2026-9318?
Upgrade tablib to 3.10.0 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-9318 being exploited?
There is no known exploitation of CVE-2026-9318 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2026-9318, ECHO-5ee8-23ed-cfb4, GHSA-gqgw-jghv-mxwx, PYSEC-2026-3702, UBUNTU-CVE-2026-9318, openSUSE-SU-2026:11533-1.