LiveActive security incident?Get immediate response
CVE Record

CVE-2026-3087: shutil.unpack_archive() doesn't check for Windows absolute paths in ZIPs

If `shutil.unpack_archive()` is given a ZIP archive with an absolute Windows path containing a drive (`C:\\...`) then the archive will be extracted outside the target directory which is different than other operating systems. Only Windows is affected by this vulnerability.

MediumCVSS 6Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

On Windows, a malicious ZIP processed by Python’s shutil.unpack_archive() can place files outside the intended extraction folder. This could let an attacker alter files accessible to the Python process. Other operating systems are not affected.

Executive priority

Prioritize prompt remediation for Windows services processing untrusted ZIPs. Systems without that data flow have substantially lower urgency but should still verify versions and patch status.

Technical view

CVE-2026-3087 is a CWE-22 path traversal issue. CPython does not correctly contain ZIP entries using absolute Windows drive paths during shutil.unpack_archive(). The supplied CVSS 4.0 score is 6.0, reflecting potentially high integrity impact without stated confidentiality or availability impact.

Likely exposure

Exposure is limited to Windows applications that use shutil.unpack_archive() for ZIP files and accept attacker-influenced archives. Risk depends on the Python process’s filesystem permissions. The supplied affected-version data is ambiguous, so exact vulnerable releases must be confirmed against PSF guidance.

Exploitation context

The supplied CVSS vector indicates network reachability, low attack complexity, low privileges, no user interaction, and a prerequisite condition. CISA KEV status is false, and the bundle provides no evidence of active exploitation.

Researcher notes

The core boundary failure is Windows-specific handling of drive-qualified absolute paths. Multiple CPython patch commits are referenced, but the bundle does not clearly map fixed versions or affected ranges. Validate branch applicability through the vendor advisory and pull request; do not infer exposure from version strings alone.

Mitigation direction

  • Inventory Windows workloads using shutil.unpack_archive() to process ZIP files.
  • Follow the PSF advisory and install the applicable fixed release or branch patch.
  • Until patched, prevent affected workloads from processing attacker-controlled ZIP archives.
  • Limit affected process write permissions to reduce potential integrity impact.

Validation and detection

  • Confirm each relevant workload’s operating system, Python version, and distribution source.
  • Identify shutil.unpack_archive() calls that can receive attacker-influenced ZIP files.
  • Compare installed versions with the PSF advisory and applicable CPython branch patches.
  • Safely verify that patched runtimes contain absolute Windows paths within the extraction directory.
  • Review writable locations for unexplained file changes associated with archive-processing activity.
Prepared
Confidence
medium
Sources
6

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · medium confidence lookup

CWE-22: File access and web shell behavior lookup

File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-3087 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Medium
CVSS
6 (4.0)
Known Exploited
No
Published

Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
3Timeline events
2ADP providers
14Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
6CVSS 4.0MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N——PSF

Vulnerability scoring details

Base CVSS 4.0 score

6Medium
CVSS 4.0 vector shape for CVE-2026-3087Attack VectorAttack ComplexityAttack RequirementsPrivileges RequiredUser InteractionVS ConfidentialityVS IntegrityVS AvailabilitySS ConfidentialitySS IntegritySS Availability

Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Attack Requirements
NonePresent
Privileges Required
NoneLowHigh
User Interaction
NonePassiveActive
VS Confidentiality
HighLowNone
VS Integrity
HighLowNone
VS Availability
HighLowNone
SS Confidentiality
HighLowNone
SS Integrity
HighLowNone
SS Availability
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
CISA-ADPCISA ADP Vulnrichment
other:ssvc
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
Python Software FoundationCPython0, 3.11.0, 3.12.0, 3.13.0, 3.14.0a1, 3.15.0a1unaffected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-22 · source CWE mapping

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.