Skip to content
Fencer Vulns
medium 6.1

CVE-2026-59944 json

Composer: CVE-2026-59946 fix bypass via symlinked package bin path

published 2026-09-16 53 d ago modified 2026-10-06 33 d ago also BIT-composer-2026-59944 , EUVD-2026-80863 , GHSA-96h3-5x6v-m776

cvss
6.1
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.5%
EPSS 0.5% chance of exploitation in 30 days, percentile 40%
public exploits
0
none known

Summary

Composer is a dependency Manager for the PHP language. From 1.0 until 2.2.30 and from 2.3.0 until 2.10.3, a malicious or compromised dependency can bypass the earlier CVE-2026-59946 binary-path hardening because Composer validates literal parent-directory segments only during dependency resolution, while the symlink and installed-metadata paths described by the advisory skip that validation. A package can ship an in-package binary symlink that resolves outside its installation directory, or attacker-influenced vendor/composer/installed.json metadata can provide an escaping binary path during a reinstall or regeneration of missing vendor/bin entries. The installed-metadata path is reachable only when the vendor directory was not populated by the same validated install run, such as when it is restored from an untrusted cache, copied from an earlier build stage, carried over from an older Composer run, or writable by a lower-trust build step. Composer can follow the path, change the external target's permissions to make it world-readable and executable, and create a runnable vendor/bin proxy to that external file. The issue does not directly read or transmit data and does not by itself provide remote code execution. This issue is fixed in versions 2.2.30 and 2.10.3.

Patch / fix

  • packagist composer/composer 2.2.30, 2.10.3
  • bitnami composer 2.2.30, 2.10.3
  • getcomposer composer 2.2.30, 2.10.3
  • composer Debian 14 2.10.3-1

debian advisories DEBIAN-CVE-2026-59944

  • composer hummingbird 1 2.10.3-1.hum1

red hat advisories RHSA-2026:63151

  • php-composer2 SLES for SAP applications 16.0, SLES 16.0 2.8.9-160000.6.1
  • php-composer2 SLE Module for Web and Scripting 15 SP7 2.6.4-150600.3.23.1
  • php-composer2 SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +5 more 2.2.30-150400.3.21.1

suse advisories SUSE-SU-2026:23943-1SUSE-SU-2026:4288-1SUSE-SU-2026:4283-1

  • php-composer2 openSUSE Leap 16.0 2.8.9-160000.6.1
  • php-composer2 openSUSE Tumbleweed 2.10.3-1.1

opensuse advisories openSUSE-SU-2026:21970-1openSUSE-SU-2026:11633-1

  • composer Alpine 3.24 2.10.3-r0

alpine advisories ALPINE-CVE-2026-59944

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-59944 updated cvss 5.0

composer: Composer: Security bypass allows execution of unauthorized binaries via symlinked paths

  • Red Hat Hardened Images composer 2.10.3-1.hum1
    fixed: vendor fix RHSA-2026:63151

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
partial
Assessed
53 d ago

Exploit prediction

0.47% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 6.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
GitHub 3.1 6.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
OSV 3.1 6.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N

Affected packages

ecosystem package affected fixed in
packagist composer/composer
>=2.3.0, <2.10.3
>=1.0, <2.2.30
2.10.3
2.2.30
bitnami composer
>=1.0.0, <2.2.30
>=2.3.0, <2.10.3
2.2.30
2.10.3

Affected products

  • composer composer

Classification

Weakness
  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory
  • CWE-59 Improper Link Resolution Before File Access
  • CWE-732 Incorrect Permission Assignment for Critical Resource

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.