Description
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 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.
Published: 2026-04-21
Score: 8.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution via Symlink-Based Directory Traversal
Action: Patch Immediately
AI Analysis

Impact

The vulnerability is in the compressing library for Node.js, specifically in the isPathWithinParent utility that performs a purely logical string check to confirm that a resolved extraction path begins with the intended destination directory. This vulnerability is a CWE-59 Path Traversal flaw. This check ignores the actual filesystem state, creating a divergence between logical and physical paths. An attacker can exploit this by placing a pre‑existing symbolic link that points outside the intended directory, a technique known as directory poisoning. When the check is bypassed, archive extraction can write files to arbitrary locations, allowing the attacker to overwrite or create files that the application or user is not authorized to modify, potentially leading to remote code execution or privilege escalation. The fix is included in versions 2.1.1 and 1.10.5.

Affected Systems

The issue affects the node‑modules:compressing library in versions prior to 2.1.1 and 1.10.5. These versions are used by any Node.js application that relies on the compressing module for handling archive files. Only the patched releases (2.1.1 and 1.10.5) contain the proper filesystem verification that prevents this path traversal.

Risk and Exploitability

The CVSS score of 8.4 indicates a high impact vulnerability. The EPSS score is not available, but the KEV status indicates it is not currently listed as a known exploited vulnerability. Attackers would need the ability to provide a malicious archive or set up a symbolic link before extraction. By exploiting the vulnerability, they can cause the library to write arbitrary data outside the intended directory, which may lead to arbitrary code execution if the application later executes those files. The risk is significant for any code that processes archives from untrusted sources.

Generated by OpenCVE AI on April 22, 2026 at 07:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the compressing library to version 2.1.1 or 1.10.5 or newer.
  • Remove or disable pre‑existing symbolic links in archive extraction paths.
  • Implement additional runtime checks that verify physical path containment before writing files.

Generated by OpenCVE AI on April 22, 2026 at 07:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-4c3q-x735-j3r5 Complete Bypass of CVE-2026-24884 Patch via Git-Delivered Symlink Poisoning in compressing
History

Wed, 22 Apr 2026 04:00:00 +0000

Type Values Removed Values Added
First Time appeared Node-modules
Node-modules compressing
Vendors & Products Node-modules
Node-modules compressing

Wed, 22 Apr 2026 00:00:00 +0000

Type Values Removed Values Added
Description 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 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.
Title Complete Bypass of CVE-2026-24884 Patch via Git-Delivered Symlink Poisoning in compressing
Weaknesses CWE-59
References
Metrics cvssV3_1

{'score': 8.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Node-modules Compressing
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-21T20:57:09.840Z

Reserved: 2026-04-15T20:40:15.518Z

Link: CVE-2026-40931

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-04-21T22:16:19.247

Modified: 2026-04-21T22:16:19.247

Link: CVE-2026-40931

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-22T07:15:11Z

Weaknesses