---
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.16.0
published: '2026-10-22'
updated: '2026-10-23'
sourceUpdated: '2026-10-23T00:36:58.472Z'
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
tags:
  - cve.org
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.16.0`

## Remediation

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