Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| composer | composer | >= 1.0.0, < 2.2.30, >= 2.3.0, < 2.10.3 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | composer | 2.10.3-1 | — |
| Debian 13 | composer | No fix yet | — |
| Debian 12 | composer | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | composer | No fix yet | — |
| Ubuntu 26.04 LTS | composer | No fix yet | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 24.04 LTS | composer | No fix yet | — |
| Ubuntu Pro 22.04 LTS | composer | No fix yet | — |
| Ubuntu Pro 20.04 LTS | composer | No fix yet | — |
| Ubuntu Pro 18.04 LTS | composer | No fix yet | — |
| Ubuntu Pro 16.04 LTS | composer | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat Hardened Images 1 | composer | 2.10.3-1.hum1 | RHSA-2026:63151 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | php-composer2 | 2.6.4-150600.3.23.1 | SUSE-SU-2026:4288-1 |
| SLES 15 SP5 | php-composer2 | 2.2.30-150400.3.21.1 | SUSE-SU-2026:4283-1 |
| SLES 15 SP4 | php-composer2 | 2.2.30-150400.3.21.1 | SUSE-SU-2026:4283-1 |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | php-composer2 | 2.8.9-160000.6.1 | SUSE-SU-2026:23943-1 |
| SLES for SAP 15 SP5 | php-composer2 | 2.2.30-150400.3.21.1 | SUSE-SU-2026:4283-1 |
| SLES for SAP 15 SP4 | php-composer2 | 2.2.30-150400.3.21.1 | SUSE-SU-2026:4283-1 |
| SLES 16.0 | php-composer2 | 2.8.9-160000.6.1 | SUSE-SU-2026:23943-1 |
| SLE HPC 15 SP5 | php-composer2 | 2.2.30-150400.3.21.1 | SUSE-SU-2026:4283-1 |
| SLE HPC 15 SP4 | php-composer2 | 2.2.30-150400.3.21.1 | SUSE-SU-2026:4283-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | php-composer2 | 2.10.3-1.1 | openSUSE-SU-2026:11633-1 |
| openSUSE Leap 16.0 | php-composer2 | 2.8.9-160000.6.1 | openSUSE-SU-2026:21970-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | composer | 2.10.3-r0 | — |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | composer | 2.10.3-1.amzn2023.0.1 | ALAS2023-2026-3136, ALAS2023-2026-2152 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | composer/composer | >= 2.3.0, < 2.10.3 | 2.10.3 | GHSA-96h3-5x6v-m776 |
| Packagist | composer/composer | >= 1.0, < 2.2.30 | 2.2.30 | GHSA-96h3-5x6v-m776 |
Advisories 9
- SUSE-SU-2026:23943-1 Security update for php-composer2 SUSE / openSUSE Security Updates · Oct 2, 2026
- WID-SEC-2026-3072 Composer: Mehrere Schwachstellen BSI CERT-Bund (WID) · Oct 1, 2026
- openSUSE-SU-2026:21970-1 Security update for php-composer2 SUSE / openSUSE Security Updates · Oct 1, 2026
- ALAS2023-2026-3136 Important: composer security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Sep 28, 2026
- SUSE-SU-2026:4283-1 Security update for php-composer2 SUSE / openSUSE Security Updates · Sep 23, 2026
- SUSE-SU-2026:4288-1 Security update for php-composer2 SUSE / openSUSE Security Updates · Sep 23, 2026
- RHSA-2026:63151 Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update Red Hat Security Advisories (RHSA) · Sep 22, 2026
- ALAS2023-2026-2152 Moderate: composer security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Sep 14, 2026
- openSUSE-SU-2026:11633-1 php-composer2-2.10.3-1.1 on GA media SUSE / openSUSE Security Updates · Aug 29, 2026
References
- https://github.com/composer/composer/security/advisories/GHSA-96h3-5x6v-m776
- https://github.com/composer/composer/commit/53b8bb4c24697b2f00a18cf1ef35a10392701b89
- https://github.com/composer/composer/commit/ad649fdfdf8ed826d4a34e0e5690c76a0b4833aa
- https://github.com/composer/composer/releases/tag/2.10.3
- https://github.com/composer/composer/releases/tag/2.2.30