CVE-2026-59947
Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, when Composer is run with -vvv debug verbosity, it could print a credential embedded in the username slot of a repository or package URL, such as a GitHub Personal Access Token in https://TOKEN@host/, to debug output because AuthHelper, Url::sanitize, and ProcessExecutor did not sanitize username-only URL credentials. 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
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.7
Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, when Composer is run with -vvv debug verbosity, it could print a credential embedded in the username slot of a repository or package URL, such as a GitHub Personal Access Token in https://TOKEN@host/, to debug output because AuthHelper, Url::sanitize, and ProcessExecutor did not sanitize username-only URL credentials. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
CVE-2026-59947- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-532
- Updated
- 2026-11-02
EUVDEUVD-2026-42363
4.7
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, when Composer is run with -vvv debug verbosity, it could print a credential embedded in the username slot of a repository or package URL, such as a GitHub Personal Access Token in https://TOKEN@host/, to debug output because AuthHelper, Url::sanitize, and ProcessExecutor did not sanitize username-only URL credentials. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
EUVD-2026-42363- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-g6xq-892h-64w3
4.7
Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)
Summary
When Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.
This is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.
Am I affected?
You are potentially affected only if all of the following apply:
- A credential is embedded inside a URL that Composer handles, e.g. in a
repositoriesentry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable. - The secret sits in the username slot of that URL (e.g.
https://TOKEN@host/…). A normalusername:password@hostpair where the username is an ordinary account name did not expose the password, that was already masked. - Composer is run with -vvv (debug verbosity), and that output is retained or shared somewhere others can read it: public CI build logs, output pasted into an issue or chat, archived terminal sessions, and so on.
If you keep credentials in auth.json or environment variables, or you never run Composer at debug verbosity, you were not exposed.
The most realistic exposure is the documented pattern of embedding a GitHub Personal Access Token in a URL's username position on a machine (often CI) that captures verbose output.
Patched versions
The username is now masked the same way the password already was, so an embedded token no longer appears in verbose output (a short, non-secret prefix may be shown to aid debugging, but never the full value).
Fixed in Composer 2.10.2 and the 2.2.29.
Workarounds
There is no configuration setting that prevents outputting credentials while keeping normal behavior.
If you cannot upgrade right away, you can reduce exposure by:
- Not running Composer with -vvv (debug verbosity) in environments where output is captured or shared.
- Moving credentials out of URLs and into auth.json or COMPOSER_AUTH.
- Scrubbing existing CI/build logs that may already contain a leaked token.
- Record
GHSA-g6xq-892h-64w3- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-532
- Updated
- 2026-11-02
NVD
4.7
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, when Composer is run with -vvv debug verbosity, it could print a credential embedded in the username slot of a repository or package URL, such as a GitHub Personal Access Token in https://TOKEN@host/, to debug output because AuthHelper, Url::sanitize, and ProcessExecutor did not sanitize username-only URL credentials. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
CVE-2026-59947- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-532
- Updated
- 2026-11-02
OSV
4.7
Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, when Composer is run with -vvv debug verbosity, it could print a credential embedded in the username slot of a repository or package URL, such as a GitHub Personal Access Token in https://TOKEN@host/, to debug output because AuthHelper, Url::sanitize, and ProcessExecutor did not sanitize username-only URL credentials. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
CVE-2026-59947- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-532
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-59947
4.7
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, when Composer is run with -vvv debug verbosity, it could print a credential embedded in the username slot of a repository or package URL, such as a GitHub Personal Access Token in https://TOKEN@host/, to debug output because AuthHelper, Url::sanitize, and ProcessExecutor did not sanitize username-only URL credentials. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
DEBIAN-CVE-2026-59947- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 13 moreShow less
OSVGHSA-g6xq-892h-64w3
4.7
Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)
Summary
When Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.
This is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.
Am I affected?
You are potentially affected only if all of the following apply:
- A credential is embedded inside a URL that Composer handles, e.g. in a
repositoriesentry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable. - The secret sits in the username slot of that URL (e.g.
https://TOKEN@host/…). A normalusername:password@hostpair where the username is an ordinary account name did not expose the password, that was already masked. - Composer is run with -vvv (debug verbosity), and that output is retained or shared somewhere others can read it: public CI build logs, output pasted into an issue or chat, archived terminal sessions, and so on.
If you keep credentials in auth.json or environment variables, or you never run Composer at debug verbosity, you were not exposed.
The most realistic exposure is the documented pattern of embedding a GitHub Personal Access Token in a URL's username position on a machine (often CI) that captures verbose output.
Patched versions
The username is now masked the same way the password already was, so an embedded token no longer appears in verbose output (a short, non-secret prefix may be shown to aid debugging, but never the full value).
Fixed in Composer 2.10.2 and the 2.2.29.
Workarounds
There is no configuration setting that prevents outputting credentials while keeping normal behavior.
If you cannot upgrade right away, you can reduce exposure by:
- Not running Composer with -vvv (debug verbosity) in environments where output is captured or shared.
- Moving credentials out of URLs and into auth.json or COMPOSER_AUTH.
- Scrubbing existing CI/build logs that may already contain a leaked token.
- Record
GHSA-g6xq-892h-64w3- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-532
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-59947
4.7
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, when Composer is run with -vvv debug verbosity, it could print a credential embedded in the username slot of a repository or package URL, such as a GitHub Personal Access Token in https://TOKEN@host/, to debug output because AuthHelper, Url::sanitize, and ProcessExecutor did not sanitize username-only URL credentials. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
UBUNTU-CVE-2026-59947- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVBIT-composer-2026-59947 No score
Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, when Composer is run with -vvv debug verbosity, it could print a credential embedded in the username slot of a repository or package URL, such as a GitHub Personal Access Token in https://TOKEN@host/, to debug output because AuthHelper, Url::sanitize, and ProcessExecutor did not sanitize username-only URL credentials. This issue is fixed in versions 2.2.29 and 2.10.2.
- Record
BIT-composer-2026-59947- 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
OSVopenSUSE-SU-2026:21970-1 No score
Security update for php-composer2
This update for php-composer2 fixes the following issues:
- CVE-2026-59944: path traversal and link following issue can make files world readable and executable (bsc#1279898).
- Record
openSUSE-SU-2026:21970-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:23943-1 No score
Security update for php-composer2
This update for php-composer2 fixes the following issues:
- CVE-2026-59944: path traversal and link following issue can make files world readable and executable (bsc#1279898).
- Record
SUSE-SU-2026:23943-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:4288-1 No score
Security update for php-composer2
This update for php-composer2 fixes the following issues:
- CVE-2026-59944: path traversal and link following issue can make files world readable and executable (bsc#1279898).
- Record
SUSE-SU-2026:4288-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 |
php-composer2SUSE:Linux Enterprise Server 16.0 |
before 2.8.9-160000.4.1 | 2.8.9-160000.4.1 |
php-composer2SUSE:Linux Enterprise Server for SAP applications 16.0 |
before 2.8.9-160000.4.1 | 2.8.9-160000.4.1 |
Show 33 moreShow less
| Package | Affected | Fixed |
|---|---|---|
php-composer2SUSE:Linux Enterprise Server 16.0 |
before 2.8.9-160000.6.1 | 2.8.9-160000.6.1 |
php-composer2SUSE:Linux Enterprise Server for SAP applications 16.0 |
before 2.8.9-160000.6.1 | 2.8.9-160000.6.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 Module for Web and Scripting 15 SP7 |
before 2.6.4-150600.3.23.1 | 2.6.4-150600.3.23.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 |
php-composer2openSUSE:Leap 16.0 |
before 2.8.9-160000.6.1 | 2.8.9-160000.6.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-59947 is a medium vulnerability (CVSS 4.7) 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.12%, the 1st percentile. Fixed in composer/composer 2.10.2.
References
github.com/composer/composer/security/advisories/GHSA-g6xq-892h-64w3
github.com/composer/composer/commit/6bd66874ae523ecb69aca5964487a0cdfda03ef8
github.com/composer/composer/commit/8887ad76fbd830cb1861a2b1fd8ead78ed1fa1ec
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-59947
Show 35 moreShow less
github.com/advisories/GHSA-g6xq-892h-64w3
github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59947.json
security-tracker.debian.org/tracker/CVE-2026-59947
github.com/composer/composer
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-202623943-1
bugzilla.suse.com/1279898
bugzilla.suse.com/1280019
suse.com/security/cve/CVE-2026-59944
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
suse.com/security/cve/CVE-2026-84361
suse.com/support/update/announcement/2026/suse-su-20264288-1
suse.com/support/update/announcement/2026/suse-su-20264589-1
ubuntu.com/security/CVE-2026-59947
cve.org/CVERecord?id=CVE-2026-59947
Left out here: 124 versions. The JSON record has them.