---
id: CVE-2026-114583
title: tar filter allows writing outside destination via empty-named symlink
summary: >-
  tarfile.tar_filter could be bypassed using crafted link entries, including
  symlinks with empty or directory-like names, to redirect later archive members
  outside the intended extraction directory. This allowed a malicious tar
  archive to …
severity: medium
cvss: 6.9
cvssVector: 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N'
cvssSource: cna
vendor: Python Software Foundation
product: CPython
affected:
  - CPython < 3.11.18
  - CPython >= 3.12.0 < 3.12.16
  - CPython >= 3.13.0 < 3.13.18
  - CPython >= 3.14.0 < 3.14.10
  - CPython >= 3.15.0 < 3.15.2
  - CPython >= 3.16.0a1 < 3.16.0
published: '2026-10-22'
updated: '2026-10-27'
sourceUpdated: '2026-10-27T00:36:15.766Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-114583'
references:
  - url: 'https://github.com/python/cpython/pull/160098'
  - url: 'https://github.com/python/cpython/issues/160097'
  - url: >-
      https://mail.python.org/archives/list/security-announce@python.org/thread/43JOWPRAV5DI3VZ4FUEUAZOHCATXXOCK/
  - url: >-
      https://github.com/python/cpython/commit/0901ad4ffb22605f12b705d1c1197f0a01f0ba0b
  - url: >-
      https://github.com/python/cpython/commit/c6ada40177436e4e2533a7b252082b5f0c043477
  - url: >-
      https://github.com/python/cpython/commit/e7e0b3523ad6ba8472873dda594cf4021a16f8b5
  - url: >-
      https://github.com/python/cpython/commit/04d8fca7da2cf3ebc0881fec8a53a1330c3b665d
  - url: >-
      https://github.com/python/cpython/commit/bc93f8ad4c4a0f92d184ec8fccc8ff8a651dcec2
  - url: >-
      https://github.com/python/cpython/commit/f4401da82e2baec5dab06cf070fbca77d53220f0
tags:
  - cve.org
epss: 0.00227
epssPercentile: 0.13379
ingestedAt: '2026-10-22T22:00:50.434Z'
---

## Overview

tarfile.tar_filter could be bypassed using crafted link entries, including symlinks with empty or directory-like names, to redirect later archive members outside the intended extraction directory. This allowed a malicious tar archive to cause tarfile.extractall() with filter="tar" to write files outside the destination directory, subject to the permissions of the extracting process.

This is the tarfile.tar_filter counterpart of CVE-2026-7774, which covered tarfile.data_filter.

## Affected

- `CPython < 3.11.18`
- `CPython >= 3.12.0 < 3.12.16`
- `CPython >= 3.13.0 < 3.13.18`
- `CPython >= 3.14.0 < 3.14.10`
- `CPython >= 3.15.0 < 3.15.2`
- `CPython >= 3.16.0a1 < 3.16.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
