PYSEC-2026-3702

See a problem?
Import Source
https://github.com/pypa/advisory-database/blob/main/vulns/tablib/PYSEC-2026-3702.yaml
JSON Data
https://api.osv.dev/v1/vulns/PYSEC-2026-3702
Aliases
Published
2026-08-19T11:56:25Z
Modified
2026-08-19T12:45:07Z
Severity
  • 5.4 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N CVSS Calculator
  • 4.8 (Medium) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N CVSS Calculator
Summary
tablib: Stored XSS in the HTML export via unescaped dataset title
Details

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.

References

Affected packages

PyPI / tablib

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
3.10.0

Affected versions

0.*
0.0.1
0.6.1
0.6.2
0.6.3
0.6.4
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
0.9.1
0.9.2
0.9.3
0.9.4
0.9.5
0.9.6
0.9.7
0.9.8
0.9.9
0.9.10
0.9.11
0.10.0
0.11.0
0.11.1
0.11.2
0.11.3
0.11.4
0.11.5
0.12.0
0.12.1
0.13.0
0.14.0
1.*
1.0.0
1.1.0
2.*
2.0.0
3.*
3.0.0
3.1.0
3.2.0
3.2.1
3.3.0
3.4.0
3.5.0
3.6.0
3.6.1
3.7.0
3.8.0
3.9.0

Database specific

source
"https://github.com/pypa/advisory-database/blob/main/vulns/tablib/PYSEC-2026-3702.yaml"