p PatchFirst

CVE-2026-9318

CVE-2026-9318 · tablib versions prior to 3.10.0 Stored XSS via HTML Export Dataset Title

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 4.8 · Medium · EPSS 0.3% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • tablib

    Versions
    • ≥ 0, < 3.10.0: Affected (custom)

    Update to 3.10.0

  • python-tablib Debian:12

    Versions
    • 3.10.0-1
    • 3.4.0-1
    • 3.5.0-1
    • 3.6.0-1
    • 3.7.0-1
    • 3.8.0-1
    • 3.9.0-1
    • 3.9.0-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-tablib Debian:13

    Versions
    • 3.10.0-1
    • 3.8.0-1
    • 3.9.0-1
    • 3.9.0-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-tablib Debian:14

    Versions
    • 3.8.0-1
    • 3.9.0-1
    • 3.9.0-2
    Affected ranges
    • ECOSYSTEM: < 3.10.0-1

    Update to 3.10.0-1

  • tablib PyPI

    Versions
    • 0.0.1
    • 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
    • 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.10
    • 0.9.11
    • 0.9.2
    • 0.9.3
    • 0.9.4
    • 0.9.5
    • 0.9.6
    • 0.9.7
    • 0.9.8
    • 0.9.9
    • 1.0.0
    • 1.1.0
    • 2.0.0
    • 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
    Affected ranges
    • ECOSYSTEM: < 3.10.0

    Update to 3.10.0

  • python-tablib Ubuntu:16.04:LTS

    Versions
    • 0.9.11-2build1
    • 0.9.11-2+deb9u1build0.16.04.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-tablib Ubuntu:18.04:LTS

    Versions
    • 0.9.11-2build1
    • 0.9.11-3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-tablib Ubuntu:20.04:LTS

    Versions
    • 0.13.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-tablib Ubuntu:22.04:LTS

    Versions
    • 0.13.0-1
    • 3.1.0-1
    • 3.2.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-tablib Ubuntu:24.04:LTS

    Versions
    • 3.5.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-tablib Ubuntu:26.10

    Versions
    • 3.9.0-1
    • 3.9.0-2
    • 3.10.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-tablib Ubuntu:26.04:LTS

    Versions
    • 3.8.0-1
    • 3.9.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →