Cyber Resilience

CVE-2026-40931

Node-Modules Compressing ≤ 1.10.5

Public PoC
Published
21 April 2026
Modified
23 April 2026
Patch / advisory
CVSS Score v3.1 8.4
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0026 18th percentile
Risk Priority 60 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-40931 is a high-severity Link Following (CWE-59) vulnerability in Node-Modules Compressing. Its CVSS base score is 8.4 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Path Interception (T1034); ranked at the 18th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-6 (Least Privilege) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-40931 is a vulnerability in the Compressing library, a Node.js module for compressing and uncompressing files, affecting versions prior to 2.1.1 and 1.10.5. The issue stems from a flawed patch for the prior CVE-2026-24884, where the isPathWithinParent utility performs only logical string validation to check if a resolved path starts with the destination directory string. This fails to consider the actual filesystem state, creating a "logical vs. physical" divergence that enables bypass via directory poisoning with pre-existing symbolic links. It is classified under CWE-59 (Improper Link Resolution Before File Access) with a CVSS v3.1 base score of 8.4 (AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).

A local attacker with no privileges required can exploit this vulnerability by creating pre-existing symbolic links that poison target directories. During compression or uncompression operations, the inadequate path validation allows the attacker to bypass restrictions, enabling arbitrary file access outside the intended destination directory. This results in high-impact confidentiality, integrity, and availability violations, such as overwriting critical files or extracting contents to unauthorized locations.

The GitHub security advisory (GHSA-4c3q-x735-j3r5) confirms the vulnerability is fixed in Compressing versions 2.1.1 and 1.10.5, recommending immediate upgrades to these patched releases as the primary mitigation.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Compressing is a compressing and uncompressing lib for node. Prior to 2.1.1 and 1.10.5, the patch for CVE-2026-24884 relies on a purely logical string validation within the isPathWithinParent utility. This check verifies if a resolved path string starts with the…

more

destination directory string but fails to account for the actual filesystem state. By exploiting this "Logical vs. Physical" divergence, an attacker can bypass the security check using a Directory Poisoning technique (pre-existing symbolic links). This vulnerability is fixed in 2.1.1 and 1.10.5.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1034 Path Interception Persistence
**This technique has been deprecated.
T1547.009 Shortcut Modification Persistence
Adversaries may create or modify shortcuts that can execute a program during system boot or user login.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-24884Same product: Node-Modules Compressing
CVE-2024-21397Shared CWE-59
CVE-2024-12552Shared CWE-59
CVE-2026-2490Shared CWE-59
CVE-2023-20008Shared CWE-59
CVE-2023-50197Shared CWE-59
CVE-2025-49738Shared CWE-59
CVE-2026-89258Shared CWE-59
CVE-2024-26158Shared CWE-59
CVE-2025-15313Shared CWE-59

Affected Assets

node-modules
compressing
≤ 1.10.5 · 2.0.0 — 2.1.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)

—

Validate
Prove the fix (OWASP ASVS)
  • V15.4.2

Mitigating Controls (NIST 800-53 r5) AI

Proper enforcement of access authorizations on the resolved target resource stops a link from reaching an unintended object.

Least-privilege limits the damage an attacker can cause after following an unintended link.

Validating file-name inputs can reject or canonicalize names that resolve to links before access occurs.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 partial match
prevents

Secure SDLC practices directly require code to validate paths and avoid unsafe link following.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Secure SDLC practices can mandate link-resolution checks and canonicalization before file access.

prevents

Application security requirements can explicitly require safe handling of symbolic links and path traversal.

prevents

Secure architecture principles include input validation and safe file-access design patterns.

prevents

Secure coding standards directly address canonicalization and symlink attacks during implementation.

finds

Security testing can detect link-following flaws before release.

mitigates

Access-control rules can limit which files are reachable, reducing exposure to malicious links.

References