CVE-2026-59946
Composer: Path traversal in package bin field lets dependencies chmod arbitrary host files
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a Composer package bin entry containing .. path segments can resolve outside the package install directory and cause Composer's binary installation flow to chmod an existing host file to a world-readable and world-executable mode during composer install, update, or require. This issue is fixed in versions 2.2.29 and 2.10.2.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.1
Composer: Path traversal in package bin field lets dependencies chmod arbitrary host files
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a Composer package bin entry containing .. path segments can resolve outside the package install directory and cause Composer's binary installation flow to chmod an existing host file to a world-readable and world-executable mode during composer install, update, or require. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
CVE-2026-59946- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N - Weakness
- CWE-22, CWE-732
- Updated
- 2026-11-02
EUVDEUVD-2026-42360
6.1
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a Composer package bin entry containing .. path segments can resolve outside the package install directory and cause Composer's binary installation flow to chmod an existing host file to a world-readable and world-executable mode during composer install, update, or require. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
EUVD-2026-42360- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-gjfg-22fp-rrxx
6.1
Composer: Path traversal in package bin field lets dependencies chmod arbitrary host files
Summary
A Composer package declares its executables in the bin field of its composer.json. When Composer installs a package, it processes each bin entry and changes the file mode of the corresponding file so it is executable.
If a bin entry contains .. path segments, it can resolve to a path outside the package's own install directory. A malicious package can use this to make Composer run chmod against a file that already exists elsewhere on the machine. The resulting mode is world-readable and world-executable (0755 under the common umask of 022). This happens when the package is installed, e.g. during composer install, composer update, and composer require. Any dependency can trigger it, including a transitive dependency several levels deep.
The vulnerability changes file permissions only, and does not read, modify, or execute the contents of the target file, and it is not remote code execution. The impact is to confidentiality: a file with deliberately restrictive permissions, such as a private key at mode 0600, can be made readable by other users on the same host.
Am I affected?
We reviewed packagist.org data and found no evidence that any published package exploited this vulnerability. If you install packages only from packagist.org, you are not affected by any known exploitation.
You are potentially affected if all of the following are true:
- Your Composer project depends, directly or transitively, on a package you do not fully trust.
- A file you rely on for its restrictive permissions already exists at a path the Composer process can write to. Examples include SSH private keys,
.envfiles,~/.aws/credentials, and.netrc.
The most likely way to be affected is to add or update a dependency that is malicious or has been compromised, then run an install on a machine that holds sensitive, permission-restricted files.
Two points to note:
--no-scripts,--no-plugins, and anallow-pluginsallow-list do not prevent this. The permission change happens during normal binary installation, outside the plugin and script trust model.- Impact scales with privilege: As a regular user, only files owned by that user can be affected, which typically means your own secrets becoming readable by other local users on a shared machine. As root (for example, a CI container with no non-root user, or
sudo composer install), any file on the system can be affected, including system credential stores.
Patched versions
The fix makes Composer reject any package whose binary entry contains a .. path segment. During install/update the operation aborts before any file permission is changed, and the same check now also applies when a package is published to Packagist.org, so such packages are refused upstream.
Fixed in 2.2.29 (2.2 LTS line) and 2.10.2 (current 2.x line). Composer 1.x is end of life and will not be patched. 1.x users should upgrade to a patched 2.x release.
Workarounds
Upgrading to a patched release is the only complete fix. There is no configuration option that disables the vulnerable behavior.
- Record
GHSA-gjfg-22fp-rrxx- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N - Weakness
- CWE-22, CWE-732
- Updated
- 2026-11-02
NVD
6.1
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a Composer package bin entry containing .. path segments can resolve outside the package install directory and cause Composer's binary installation flow to chmod an existing host file to a world-readable and world-executable mode during composer install, update, or require. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
CVE-2026-59946- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N - Weakness
- CWE-22, CWE-732
- Updated
- 2026-11-02
OSV
6.1
Composer: Path traversal in package bin field lets dependencies chmod arbitrary host files
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a Composer package bin entry containing .. path segments can resolve outside the package install directory and cause Composer's binary installation flow to chmod an existing host file to a world-readable and world-executable mode during composer install, update, or require. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
CVE-2026-59946- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N - Weakness
- CWE-22, CWE-732
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-59946
6.1
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a Composer package bin entry containing .. path segments can resolve outside the package install directory and cause Composer's binary installation flow to chmod an existing host file to a world-readable and world-executable mode during composer install, update, or require. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
DEBIAN-CVE-2026-59946- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N - Updated
- 2026-11-02
Show 11 moreShow less
OSVGHSA-gjfg-22fp-rrxx
6.1
Composer: Path traversal in package bin field lets dependencies chmod arbitrary host files
Summary
A Composer package declares its executables in the bin field of its composer.json. When Composer installs a package, it processes each bin entry and changes the file mode of the corresponding file so it is executable.
If a bin entry contains .. path segments, it can resolve to a path outside the package's own install directory. A malicious package can use this to make Composer run chmod against a file that already exists elsewhere on the machine. The resulting mode is world-readable and world-executable (0755 under the common umask of 022). This happens when the package is installed, e.g. during composer install, composer update, and composer require. Any dependency can trigger it, including a transitive dependency several levels deep.
The vulnerability changes file permissions only, and does not read, modify, or execute the contents of the target file, and it is not remote code execution. The impact is to confidentiality: a file with deliberately restrictive permissions, such as a private key at mode 0600, can be made readable by other users on the same host.
Am I affected?
We reviewed packagist.org data and found no evidence that any published package exploited this vulnerability. If you install packages only from packagist.org, you are not affected by any known exploitation.
You are potentially affected if all of the following are true:
- Your Composer project depends, directly or transitively, on a package you do not fully trust.
- A file you rely on for its restrictive permissions already exists at a path the Composer process can write to. Examples include SSH private keys,
.envfiles,~/.aws/credentials, and.netrc.
The most likely way to be affected is to add or update a dependency that is malicious or has been compromised, then run an install on a machine that holds sensitive, permission-restricted files.
Two points to note:
--no-scripts,--no-plugins, and anallow-pluginsallow-list do not prevent this. The permission change happens during normal binary installation, outside the plugin and script trust model.- Impact scales with privilege: As a regular user, only files owned by that user can be affected, which typically means your own secrets becoming readable by other local users on a shared machine. As root (for example, a CI container with no non-root user, or
sudo composer install), any file on the system can be affected, including system credential stores.
Patched versions
The fix makes Composer reject any package whose binary entry contains a .. path segment. During install/update the operation aborts before any file permission is changed, and the same check now also applies when a package is published to Packagist.org, so such packages are refused upstream.
Fixed in 2.2.29 (2.2 LTS line) and 2.10.2 (current 2.x line). Composer 1.x is end of life and will not be patched. 1.x users should upgrade to a patched 2.x release.
Workarounds
Upgrading to a patched release is the only complete fix. There is no configuration option that disables the vulnerable behavior.
- Record
GHSA-gjfg-22fp-rrxx- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N - Weakness
- CWE-22, CWE-732
- Updated
- 2026-11-02
OSVRHSA-2026:34854
5.6
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:34854- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-59946
6.1
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a Composer package bin entry containing .. path segments can resolve outside the package install directory and cause Composer's binary installation flow to chmod an existing host file to a world-readable and world-executable mode during composer install, update, or require. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
UBUNTU-CVE-2026-59946- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N - Updated
- 2026-11-02
OSVBIT-composer-2026-59946 No score
Composer: Path traversal in package bin field lets dependencies chmod arbitrary host files
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a Composer package bin entry containing .. path segments can resolve outside the package install directory and cause Composer's binary installation flow to chmod an existing host file to a world-readable and world-executable mode during composer install, update, or require. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
BIT-composer-2026-59946- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11268-1 No score
php-composer2-2.10.2-1.1 on GA media
These are all security issues fixed in the php-composer2-2.10.2-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11268-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21520-1 No score
Security update for php-composer2
This update for php-composer2 fixes the following issues:
- CVE-2026-45793: Github Actions issued
GITHUB_TOKENdisclosure in GitHub Actions logs (bsc#1271504). - CVE-2026-59946: path traversal in package
binfield lets dependencieschmodarbitrary host files (bsc#1271151). - CVE-2026-59947: URL-embedded HTTP-Basic username leaks to verbose logs (bsc#1271129).
- CVE-2026-59948: arbitrary file write outside
vendordirectory via malicious transitive package name (bsc#1271122).
Changes for php-composer2:
- fix byte-swapped signature on s390x can cause broken or unsupported signature (bsc#1271729).
- Record
openSUSE-SU-2026:21520-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23116-1 No score
Security update for php-composer2
This update for php-composer2 fixes the following issues:
- CVE-2026-45793: Github Actions issued
GITHUB_TOKENdisclosure in GitHub Actions logs (bsc#1271504). - CVE-2026-59946: path traversal in package
binfield lets dependencieschmodarbitrary host files (bsc#1271151). - CVE-2026-59947: URL-embedded HTTP-Basic username leaks to verbose logs (bsc#1271129).
- CVE-2026-59948: arbitrary file write outside
vendordirectory via malicious transitive package name (bsc#1271122).
Changes for php-composer2:
- fix byte-swapped signature on s390x can cause broken or unsupported signature (bsc#1271729).
- Record
SUSE-SU-2026:23116-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23138-1 No score
Security update for php-composer2
This update for php-composer2 fixes the following issues:
- CVE-2026-45793: Github Actions issued
GITHUB_TOKENdisclosure in GitHub Actions logs (bsc#1271504). - CVE-2026-59946: path traversal in package
binfield lets dependencieschmodarbitrary host files (bsc#1271151). - CVE-2026-59947: URL-embedded HTTP-Basic username leaks to verbose logs (bsc#1271129).
- CVE-2026-59948: arbitrary file write outside
vendordirectory via malicious transitive package name (bsc#1271122).
Changes for php-composer2:
- fix byte-swapped signature on s390x can cause broken or unsupported signature (bsc#1271729).
- Record
SUSE-SU-2026:23138-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3105-1 No score
Security update for php-composer2
This update for php-composer2 fixes the following issues:
- CVE-2026-45793: Github Actions issued
GITHUB_TOKENdisclosure in GitHub Actions logs (bsc#1271504). - CVE-2026-59946: path traversal in package
binfield lets dependencieschmodarbitrary host files (bsc#1271151). - CVE-2026-59947: URL-embedded HTTP-Basic username leaks to verbose logs (bsc#1271129).
- CVE-2026-59948: arbitrary file write outside
vendordirectory via malicious transitive package name (bsc#1271122).
- Record
SUSE-SU-2026:3105-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4283-1 No score
Security update for php-composer2
This update for php-composer2 fixes the following issues:
- CVE-2026-45793: GitHub OAuth tokens failing regex validation can cause credential disclosure (bsc#1271504).
- CVE-2026-59944: path traversal and link following issue can make files world readable and executable (bsc#1279898).
- CVE-2026-59946: package bin entries with path segments can cause unintended host file permission modifications (bsc#1271152).
- CVE-2026-59947: unsanitized URL credential handling in debug output within Composer can allow sensitive token disclosure (bsc#1271130).
- CVE-2026-59948: missing package name validation during dependency resolution in Composer can allow path traversal (bsc#1271123).
- CVE-2026-84361: arbitrary code execution via malicious Perforce source URL (bsc#1278257).
Changes for php-composer2:
- version update to 2.2.30:
- Fixed command injection via malicious Perforce url (GHSA-rvx4-ffvw-m9q3)
- Sanitize URL-embedded usernames/token in a few more places (#13045)
- Fixed matching of gitlab URLs to avoid possible credential leak to the wrong domain (#13042)
-
fix a regression on s390x due last change (bsc#1271729).
-
version update to 2.2.29:
- Validate package names (GHSA-499r-g7pc-vmp9)
- Validate package bin paths against path traversal (GHSA-gjfg-22fp-rrxx)
- Sanitize URL-embedded usernames/token in verbose output (GHSA-g6xq-892h-64w3)
- Only follow HTTP redirects from HTTP responses (#12948)
- Prevent phar metadata unserialization on unsafe PHP versions (#12946)
- Sanitize JSON parse errors in http responses to avoid leaking response body data (#12959)
- Fixed GitHub token validation to be even more relaxed (#12856)
- version update to 2.2.28.
- Record
SUSE-SU-2026:4283-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4589-1 No score
Security update for php-composer2
This update for php-composer2 fixes the following issues:
- CVE-2026-59946: package bin entries with path segments can cause unintended host file permission modifications (bsc#1271152).
- CVE-2026-59947: unsanitized URL credential handling in debug output within Composer can allow sensitive token disclosure (bsc#1271130).
- CVE-2026-59948: missing package name validation during dependency resolution in Composer can allow path traversal (bsc#1271123).
- Record
SUSE-SU-2026:4589-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
composer/composerPackagist |
2.3.0 up to 2.10.2 | 2.10.2 |
composer/composerPackagist |
1.0.0 up to 2.2.29 | 2.2.29 |
composerBitnami |
1.0.0 up to 2.2.29, 2.3.0 up to 2.10.2 | 2.2.292.10.2 |
composerDebian:12 |
All versions, plus listed versions 2.10.0-12.10.0~rc1-12.10.0~rc1-22.10.0~rc1-32.10.0~rc2-1 Show 45 moreShow less2.10.1-12.10.1-22.10.2-12.10.3-12.5.5-12.5.5-1+deb12u12.5.5-1+deb12u22.5.5-1+deb12u32.5.5-1+deb12u42.5.5-1+deb12u52.5.6-12.5.7-12.5.8-12.6.2-12.6.3-12.6.4-12.6.5-12.6.6-12.7.1-12.7.1-22.7.2-12.7.4-12.7.6-12.7.6-22.7.6-32.7.7-12.7.7-22.7.8-12.7.9-12.8.0-12.8.1-12.8.10-12.8.11-12.8.11-22.8.12-12.8.2-12.8.3-12.8.4-12.8.4-22.8.4-32.8.5-12.8.6-12.8.8-12.8.9-12.9.0~rc1-1 |
None known |
composerDebian:13 |
All versions, plus listed versions 2.10.0-12.10.0~rc1-12.10.0~rc1-22.10.0~rc1-32.10.0~rc2-1 Show 21 moreShow less2.10.1-12.10.1-22.10.2-12.10.3-12.8.10-12.8.11-12.8.11-22.8.12-12.8.8-12.8.8-1+deb13u12.8.8-1+deb13u22.8.8-1+deb13u32.8.9-12.9.0~rc1-12.9.1-12.9.2-12.9.3-12.9.4-12.9.5-12.9.7-12.9.8-1 |
None known |
composerDebian:14 |
before 2.10.2-1, plus listed versions 2.10.0-12.10.0~rc1-12.10.0~rc1-22.10.0~rc1-32.10.0~rc2-1 Show 16 moreShow less2.10.1-12.10.1-22.8.10-12.8.11-12.8.11-22.8.12-12.8.8-12.8.9-12.9.0~rc1-12.9.1-12.9.2-12.9.3-12.9.4-12.9.5-12.9.7-12.9.8-1 |
2.10.2-1 |
composer/composerPackagist |
2.3.0 up to 2.10.2, plus listed versions 2.10.02.10.0-RC12.10.0-RC22.10.12.3.1 Show 45 moreShow less2.3.102.3.22.3.32.3.42.3.52.3.62.3.72.3.82.3.92.4.02.4.0-RC12.4.12.4.22.4.32.4.42.5.02.5.12.5.22.5.32.5.42.5.52.5.62.5.72.5.82.6.02.6.12.6.22.6.32.6.42.6.52.6.62.7.02.7.12.7.22.7.32.7.42.7.52.7.62.7.72.7.82.7.92.8.02.8.12.8.102.8.11 |
2.10.2 |
composer/composerPackagist |
1.0.0 up to 2.2.29, plus listed versions 1.0.11.0.21.0.31.1.01.1.0-RC Show 45 moreShow less1.1.11.1.21.1.31.10.01.10.0-RC1.10.11.10.101.10.111.10.121.10.131.10.141.10.151.10.161.10.171.10.181.10.191.10.21.10.201.10.211.10.221.10.231.10.241.10.251.10.261.10.271.10.281.10.31.10.41.10.51.10.61.10.71.10.81.10.91.2.01.2.0-RC1.2.11.2.21.2.31.2.41.3.01.3.0-RC1.3.11.3.21.3.31.4.0 |
2.2.29 |
composerRed Hat:hummingbird:1 |
before 0:2.10.2-1.hum1 | 0:2.10.2-1.hum1 |
php-composer2SUSE:Linux Enterprise Server 16.0 |
before 2.8.9-160000.4.1 | 2.8.9-160000.4.1 |
Show 30 moreShow less
| Package | Affected | Fixed |
|---|---|---|
php-composer2SUSE:Linux Enterprise Server for SAP applications 16.0 |
before 2.8.9-160000.4.1 | 2.8.9-160000.4.1 |
php-composer2SUSE:Linux Enterprise Module for Web and Scripting 15 SP7 |
before 2.6.4-150600.3.12.1 | 2.6.4-150600.3.12.1 |
php-composer2SUSE:Linux Enterprise Server 15 SP6-LTSS |
before 2.6.4-150600.3.12.1 | 2.6.4-150600.3.12.1 |
php-composer2SUSE:Linux Enterprise Server for SAP Applications 15 SP6 |
before 2.6.4-150600.3.12.1 | 2.6.4-150600.3.12.1 |
php-composer2SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise Server 15 SP4-LTSS |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise Server 15 SP5-LTSS |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise Server for SAP Applications 15 SP4 |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise Server for SAP Applications 15 SP5 |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS |
before 2.2.30-150400.3.24.1 | 2.2.30-150400.3.24.1 |
php-composer2SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS |
before 2.2.30-150400.3.24.1 | 2.2.30-150400.3.24.1 |
php-composer2SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS |
before 2.2.30-150400.3.24.1 | 2.2.30-150400.3.24.1 |
php-composer2SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS |
before 2.2.30-150400.3.24.1 | 2.2.30-150400.3.24.1 |
php-composer2SUSE:Linux Enterprise Server 15 SP4-LTSS |
before 2.2.30-150400.3.24.1 | 2.2.30-150400.3.24.1 |
php-composer2SUSE:Linux Enterprise Server 15 SP5-LTSS |
before 2.2.30-150400.3.24.1 | 2.2.30-150400.3.24.1 |
php-composer2SUSE:Linux Enterprise Server for SAP Applications 15 SP4 |
before 2.2.30-150400.3.24.1 | 2.2.30-150400.3.24.1 |
php-composer2SUSE:Linux Enterprise Server for SAP Applications 15 SP5 |
before 2.2.30-150400.3.24.1 | 2.2.30-150400.3.24.1 |
composerUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.0.0~alpha10+20150602-11.0.0~alpha10+20150602-21.0.0~alpha11-11.0.0~alpha11-1ubuntu11.0.0~alpha11-2 Show 5 moreShow less1.0.0~alpha11-31.0.0~beta1-1ubuntu11.0.0~beta2-11.0.0~beta2-1ubuntu0.1~esm11.0.0~beta2-1ubuntu0.1~esm2 |
None known |
composerUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.5.1-11.5.2-11.6.2-11.6.3-11.6.3-1ubuntu0.1~esm11.6.3-1ubuntu0.1~esm2 |
None known |
composerUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.9.0-21.9.1-11.9.2-11.9.3-11.10.0-11.10.1-11.10.1-1ubuntu0.1~esm11.10.1-1ubuntu0.1~esm2 |
None known |
composerUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 2.0.9-2ubuntu22.0.9-2ubuntu32.0.13-1ubuntu12.1.12-1ubuntu12.2.6-2ubuntu42.2.6-2ubuntu4+esm1 |
None known |
composerUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 2.5.8-12.6.5-12.6.6-12.7.1-22.7.1-2ubuntu0.1~esm1 |
None known |
composerUbuntu:25.10 |
All versions, plus listed versions 2.8.6-12.8.8-1 |
None known |
composerUbuntu:26.10 |
All versions, plus listed versions 2.9.5-12.10.1-22.10.2-1 |
None known |
composerUbuntu:26.04:LTS |
All versions, plus listed versions 2.8.8-12.9.5-1 |
None known |
php-composer2openSUSE:Tumbleweed |
before 2.10.2-1.1 | 2.10.2-1.1 |
php-composer2openSUSE:Leap 16.0 |
before 2.8.9-160000.4.1 | 2.8.9-160000.4.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-59946 is a medium vulnerability (CVSS 6.1) in Composer, published July 8, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.14%, the 3rd percentile. Fixed in composer/composer 2.10.2.
References
github.com/composer/composer/security/advisories/GHSA-gjfg-22fp-rrxx
github.com/composer/composer/commit/502c6c4f699802d9cf464728b3e8a95674f919a0
github.com/composer/composer/commit/c50b1efd13ebd73f6dca19b31424c5a02bf93cc1
github.com/composer/composer/releases/tag/2.10.2
github.com/composer/composer/releases/tag/2.2.29
nvd.nist.gov/vuln/detail/CVE-2026-59946
Show 38 moreShow less
github.com/advisories/GHSA-gjfg-22fp-rrxx
github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59946.json
security-tracker.debian.org/tracker/CVE-2026-59946
github.com/composer/composer
access.redhat.com/errata/RHSA-2026:34854
images.redhat.com
access.redhat.com/security/cve/CVE-2026-59946
access.redhat.com/security/updates/classification
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_34854.json
bugzilla.redhat.com/show_bug.cgi?id=2498194
cve.org/CVERecord?id=CVE-2026-59946
suse.com/support/update/announcement/2026/suse-su-202623116-1
bugzilla.suse.com/1271122
bugzilla.suse.com/1271129
bugzilla.suse.com/1271151
bugzilla.suse.com/1271504
bugzilla.suse.com/1271729
suse.com/security/cve/CVE-2025-67746
suse.com/security/cve/CVE-2026-40176
suse.com/security/cve/CVE-2026-40261
suse.com/security/cve/CVE-2026-45793
suse.com/security/cve/CVE-2026-59946
suse.com/security/cve/CVE-2026-59947
suse.com/security/cve/CVE-2026-59948
suse.com/support/update/announcement/2026/suse-su-202623138-1
suse.com/support/update/announcement/2026/suse-su-20263105-1
suse.com/security/cve/CVE-2024-35241
suse.com/security/cve/CVE-2024-35242
suse.com/support/update/announcement/2026/suse-su-20264283-1
bugzilla.suse.com/1271123
bugzilla.suse.com/1271130
bugzilla.suse.com/1271152
bugzilla.suse.com/1278257
bugzilla.suse.com/1279898
suse.com/security/cve/CVE-2026-59944
suse.com/security/cve/CVE-2026-84361
suse.com/support/update/announcement/2026/suse-su-20264589-1
ubuntu.com/security/CVE-2026-59946
Left out here: 124 versions. The JSON record has them.