Skip to content
Heist/ feed
Back to feed
Medium

python-tablib — security advisory

Type: advisorySources: OSVAdvisory ID: UBUNTU-CVE-2026-9318

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.

Products
python-tablib
Affected versions
0.13.0-1, 0.9.11-2+deb9u1build0.16.04.1, 0.9.11-2build1, 0.9.11-3, 3.1.0-1, 3.10.0-1, 3.2.0-1, 3.5.0-1, 3.8.0-1, 3.9.0-1, 3.9.0-2
Fixed versions
Not specified
CVEs
CVE-2026-9318
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 03:32 UTC · Revision 1

Source evidence

UBUNTU-CVE-2026-9318

core-osv · Original source

Published 12 Aug 2026, 03:16 UTC

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.

osv:UBUNTU-CVE-2026-9318

python-tablib

Fixed versions: Not specified

python-tablib

Fixed versions: Not specified

python-tablib

Fixed versions: Not specified

python-tablib

Fixed versions: Not specified

python-tablib

Fixed versions: Not specified

python-tablib

Fixed versions: Not specified

python-tablib

Fixed versions: Not specified

Complete source record
{
  "id": "736fcfdab5dac625d4d27c9316be370b6c4539e811151f18fa43bc11d2f83205",
  "url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-9318",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "UBUNTU-CVE-2026-9318",
    "summary": "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.",
    "evidence": "osv:UBUNTU-CVE-2026-9318",
    "products": [
      {
        "name": {
          "value": "python-tablib",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.9.11-2build1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.9.11-2+deb9u1build0.16.04.1",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "python-tablib",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.9.11-2build1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.9.11-3",
            "evidence": "/affected/1/versions"
          }
        ]
      },
      {
        "name": {
          "value": "python-tablib",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.13.0-1",
            "evidence": "/affected/2/versions"
          }
        ]
      },
      {
        "name": {
          "value": "python-tablib",
          "evidence": "/affected/3/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.13.0-1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "3.1.0-1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "3.2.0-1",
            "evidence": "/affected/3/versions"
          }
        ]
      },
      {
        "name": {
          "value": "python-tablib",
          "evidence": "/affected/4/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "3.5.0-1",
            "evidence": "/affected/4/versions"
          }
        ]
      },
      {
        "name": {
          "value": "python-tablib",
          "evidence": "/affected/5/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "3.9.0-1",
            "evidence": "/affected/5/versions"
          },
          {
            "value": "3.9.0-2",
            "evidence": "/affected/5/versions"
          },
          {
            "value": "3.10.0-1",
            "evidence": "/affected/5/versions"
          }
        ]
      },
      {
        "name": {
          "value": "python-tablib",
          "evidence": "/affected/6/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "3.8.0-1",
            "evidence": "/affected/6/versions"
          },
          {
            "value": "3.9.0-1",
            "evidence": "/affected/6/versions"
          }
        ]
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "UBUNTU-CVE-2026-9318",
      "aliases": [
        "UBUNTU-CVE-2026-9318"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N"
        },
        {
          "type": "CVSS_V4",
          "score": "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"
        },
        {
          "type": "Ubuntu",
          "score": "medium"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "python-tablib",
            "purl": "pkg:deb/ubuntu/python-tablib?arch=source&distro=xenial",
            "ecosystem": "Ubuntu:16.04:LTS"
          },
          "versions": [
            "0.9.11-2build1",
            "0.9.11-2+deb9u1build0.16.04.1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9318.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "python-tablib",
                "binary_version": "0.9.11-2+deb9u1build0.16.04.1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "python-tablib",
            "purl": "pkg:deb/ubuntu/python-tablib?arch=source&distro=bionic",
            "ecosystem": "Ubuntu:18.04:LTS"
          },
          "versions": [
            "0.9.11-2build1",
            "0.9.11-3"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9318.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "python-tablib",
                "binary_version": "0.9.11-3"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "python-tablib",
            "purl": "pkg:deb/ubuntu/python-tablib?arch=source&distro=focal",
            "ecosystem": "Ubuntu:20.04:LTS"
          },
          "versions": [
            "0.13.0-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9318.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "python3-tablib",
                "binary_version": "0.13.0-1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "python-tablib",
            "purl": "pkg:deb/ubuntu/python-tablib?arch=source&distro=jammy",
            "ecosystem": "Ubuntu:22.04:LTS"
          },
          "versions": [
            "0.13.0-1",
            "3.1.0-1",
            "3.2.0-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9318.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "python3-tablib",
                "binary_version": "3.2.0-1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "python-tablib",
            "purl": "pkg:deb/ubuntu/python-tablib?arch=source&distro=noble",
            "ecosystem": "Ubuntu:24.04:LTS"
          },
          "versions": [
            "3.5.0-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9318.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "python3-tablib",
                "binary_version": "3.5.0-1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "python-tablib",
            "purl": "pkg:deb/ubuntu/python-tablib?arch=source&distro=stonking",
            "ecosystem": "Ubuntu:26.10"
          },
          "versions": [
            "3.9.0-1",
            "3.9.0-2",
            "3.10.0-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9318.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "python3-tablib",
                "binary_version": "3.10.0-1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "python-tablib",
            "purl": "pkg:deb/ubuntu/python-tablib?arch=source&distro=resolute",
            "ecosystem": "Ubuntu:26.04:LTS"
          },
          "versions": [
            "3.8.0-1",
            "3.9.0-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9318.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "python3-tablib",
                "binary_version": "3.9.0-1"
              }
            ]
          }
        }
      ],
      "modified": "2026-10-17T13:01:17.694901219Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-9318"
      ],
      "references": [
        "https://ubuntu.com/security/CVE-2026-9318",
        "https://www.cve.org/CVERecord?id=CVE-2026-9318",
        "https://github.com/jazzband/tablib/pull/668",
        "https://github.com/jazzband/tablib",
        "https://github.com/jazzband/tablib/releases/tag/v3.10.0",
        "https://www.vulncheck.com/advisories/tablib-versions-prior-to-stored-xss-via-html-export-dataset-title"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-9318",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 361532,
  "published_at": "2026-08-12T03:16:00+00:00"
}