p PatchFirst

CVE-2026-32711

CVE-2026-32711 · pydicom: Path traversal in FileSet/DICOMDIR ReferencedFileID allows file access outside the File-set root

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

pydicom is a pure Python package for working with DICOM files. Versions 2.0.0-rc.1 through 3.0.1 are vulnerable to Path Traversal through a maliciously crafted DICOMDIR ReferencedFileID when it is set to a path outside the File-set root. pydicom resolves the path only to confirm that it exists, but does not verify that the resolved path remains under the File-set root. Subsequent public FileSet operations such as copy(), write(), and remove()+write(use_existing=True) use that unchecked path in file I/O operations. This allows arbitrary file read/copy and, in some flows, move/delete outside the File-set root. This issue has been fixed in version 3.0.2.

CVSS 7.8 · High · EPSS 0.3% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • pydicom

    Versions
    • >= 2.0.0-rc.1, < 3.0.2: Affected

    No fix published

  • pydicom Debian:12

    Versions
    • 2.3.1-1
    • 2.4.3-1
    • 2.4.3-2
    • 2.4.3-3
    • 3.0.2-1
    • 3.0.2-2
    • 3.0.2-3
    • 3.0.2-4
    • 3.0.2-5
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pydicom Debian:13

    Versions
    • 2.4.3-2
    • 2.4.3-3
    • 3.0.2-1
    • 3.0.2-2
    • 3.0.2-3
    • 3.0.2-4
    • 3.0.2-5
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pydicom Debian:14

    Versions
    • 2.4.3-2
    • 2.4.3-3
    Affected ranges
    • ECOSYSTEM: < 3.0.2-1

    Update to 3.0.2-1

  • pydicom PyPI

    Versions
    • 3.0.0
    • 3.0.1
    Affected ranges
    • ECOSYSTEM: ≥ 3.0.0, < 3.0.2

    Update to 3.0.2

  • pydicom PyPI

    Versions
    • 0.9.1
    • 0.9.2
    • 0.9.3
    • 0.9.4-1
    • 0.9.5
    • 0.9.6
    • 0.9.7
    • 0.9.8
    • 0.9.9
    • 1.0.1
    • 1.0.1rc1
    • 1.0.2
    • 1.1.0
    • 1.2.0
    • 1.2.0rc1
    • 1.2.1
    • 1.2.2
    • 1.3.0
    • 1.4.0
    • 1.4.0rc1
    • 1.4.1
    • 1.4.2
    • 2.0.0
    • 2.0.0rc1
    • 2.1.0
    • 2.1.1
    • 2.1.2
    • 2.2.0
    • 2.2.0rc1
    • 2.2.1
    • 2.2.2
    • 2.3.0
    • 2.3.1
    • 2.4.0
    • 2.4.1
    • 2.4.2
    • 2.4.3
    • 2.4.4
    Affected ranges
    • ECOSYSTEM: < 2.4.5

    Update to 2.4.5

  • pydicom PyPI

    Versions
    • 2.0.0
    • 2.1.0
    • 2.1.1
    • 2.1.2
    • 2.2.0
    • 2.2.0rc1
    • 2.2.1
    • 2.2.2
    • 2.3.0
    • 2.3.1
    • 2.4.0
    • 2.4.1
    • 2.4.2
    • 2.4.3
    • 2.4.4
    • 2.4.5
    • 3.0.0
    • 3.0.0rc1
    • 3.0.1
    Affected ranges
    • ECOSYSTEM: ≥ 2.0.0, < 3.0.2

    Update to 3.0.2

  • pydicom Ubuntu:16.04:LTS

    Versions
    • 0.9.8-1
    • 0.9.9-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pydicom Ubuntu:18.04:LTS

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

    No fix published

  • pydicom Ubuntu:20.04:LTS

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

    No fix published

  • pydicom Ubuntu:22.04:LTS

    Versions
    • 2.0.0-1
    • 2.0.0-2
    • 2.2.2-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pydicom Ubuntu:24.04:LTS

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

    No fix published

  • pydicom Ubuntu:25.10

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

    No fix published

  • pydicom Ubuntu:26.10

    Versions
    • 2.4.3-3
    • 3.0.2-3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • pydicom Ubuntu:26.04:LTS

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

    No fix published

Original sources

Check your server →