CVE-2026-45793
Composer: Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
Composer is a dependency Manager for the PHP language. Prior to 1.10.28, 2.2.28, and 2.9.8, Composer\IO\BaseIO::loadConfiguration() validates GitHub OAuth tokens with the regex ^[.A-Za-z0-9_]+$ and interpolates rejected tokens into an UnexpectedValueException; GitHub Actions GITHUB_TOKEN values using the ghs_<id>_<base64url-JWT> format can contain -, fail validation, and be disclosed to stderr or CI logs. This issue is fixed in versions 1.10.28, 2.2.28, and 2.9.8.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.5
Composer: Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
Composer is a dependency Manager for the PHP language. Prior to 1.10.28, 2.2.28, and 2.9.8, Composer\IO\BaseIO::loadConfiguration() validates GitHub OAuth tokens with the regex ^[.A-Za-z0-9_]+$ and interpolates rejected tokens into an UnexpectedValueException; GitHub Actions GITHUB_TOKEN values using the ghs_<id>_<base64url-JWT> format can contain -, fail validation, and be disclosed to stderr or CI logs. This issue is fixed in versions 1.10.28, 2.2.28, and 2.9.8.
- Record
CVE-2026-45793- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
EUVDEUVD-2026-44723
7.5
Composer is a dependency Manager for the PHP language. Prior to 1.10.28, 2.2.28, and 2.9.8, Composer\IO\BaseIO::loadConfiguration() validates GitHub OAuth tokens with the regex ^[.A-Za-z0-9_]+$ and interpolates rejected tokens into an UnexpectedValueException; GitHub Actions GITHUB_TOKEN values using the ghs_<id>_<base64url-JWT> format can contain -, fail validation, and be disclosed to stderr or CI logs. This issue is fixed in versions 1.10.28, 2.2.28, and 2.9.8.
- Record
EUVD-2026-44723- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-f9f8-rm49-7jv2
7.5
Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
Summary
Composer leaks the full contents of tokens configured as GitHub OAuth tokens if they do not match Composer's expected format for such tokens to stderr. GitHub has introduced a new format for GitHub Actions GITHUB_TOKEN values. These tokens are validated in the same way by Composer on GitHub Actions. The new format including a - (hyphen) fails Composer's validation and leads to disclosure of the GITHUB_TOKEN in logs.
Many widely-used Actions (e.g. shivammathur/setup-php) auto-register GITHUB_TOKEN into composer's global auth.json, so the leak triggers without any unusual user configuration.
GitHub Actions tokens expire when the associated job finishes, and they are scoped to the respective repository only. So in most regular cases the Composer validation, which errors while leaking the token, also immediately ends the job, expiring the token immediately. Tokens expire at the very latest after 6 hours on GitHub-hosted runners. If you use self-hosted runner, expiration is at most 24 hours after creation. The new token format is being rolled out gradually, so not all repositories are affected yet, but will be soon.
Classic ghp_ PATs are not affected by the regex bug per se, but the same leak primitive applies to any future credential that fails validation for any reason.
Details
When a GitHub token fails regular expression validation of the character set, the rejected token is interpolated verbatim into the UnexpectedValueException message thrown by Composer\IO\BaseIO::loadConfiguration(), which Symfony Console then prints. Validation reliably fails for any token containing a - (hyphen), which includes the modern ghs_<id>_<base64url-JWT> GitHub App installation token format, the same format used by GitHub Actions' built-in GITHUB_TOKEN and by actions/create-github-app-token.
Severity: medium. Pre-conditions are common in real-world CI. Practical blast radius is bounded by the leaked credential's scope and TTL (short for a workflow GITHUB_TOKEN, longer for App-minted tokens or user-issued credentials that happen to contain -).
Vulnerable code, src/Composer/IO/BaseIO.php (line 139 on main, line 143 on 2.8.x), inside loadConfiguration():
// allowed chars for GH tokens are from https://github.blog/changelog/2021-03-04-authentication-token-format-updates/
// plus dots which were at some point used for GH app integration tokens
if (!Preg::isMatch('{^[.A-Za-z0-9_]+$}', $token)) {
throw new \UnexpectedValueException(
'Your github oauth token for '.$domain.' contains invalid characters: "'.$token.'"'
);
}
Three issues combine to produce the leak:
-
The rejected token is interpolated into the exception message. The exception bubbles up to Symfony Console's default error renderer, which writes it to stderr. Any environment that captures stderr (CI logs, log shippers, monitoring, support transcripts) now has the raw token.
-
The validation regex
^[.A-Za-z0-9_]+$does not permit-. GitHub's currentghs_<numeric-id>_<base64url-JWT>structured installation tokens routinely contain-, because base64url (RFC 4648 §5) uses-and_as URL-safe replacements for+and/. The regex was chosen in 2021 on the understanding that GitHub tokens use only[A-Za-z0-9_]plus.. -
Detection / mitigation in upstream platforms is unreliable. GitHub Actions' built-in secret masker matches registered values as exact substrings. When the exception message is rendered by Symfony Console it may wrap, embed in
In BaseIO.php line N:framing, or interleave with ANSI control sequences. So the masker does not redact, and the plaintext token reaches the log.
- Record
GHSA-f9f8-rm49-7jv2- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
NVD
7.5
Composer is a dependency Manager for the PHP language. Prior to 1.10.28, 2.2.28, and 2.9.8, Composer\IO\BaseIO::loadConfiguration() validates GitHub OAuth tokens with the regex ^[.A-Za-z0-9_]+$ and interpolates rejected tokens into an UnexpectedValueException; GitHub Actions GITHUB_TOKEN values using the ghs_<id>_<base64url-JWT> format can contain -, fail validation, and be disclosed to stderr or CI logs. This issue is fixed in versions 1.10.28, 2.2.28, and 2.9.8.
- Record
CVE-2026-45793- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-45793
7.5
Composer is a dependency Manager for the PHP language. Prior to 1.10.28, 2.2.28, and 2.9.8, Composer\IO\BaseIO::loadConfiguration() validates GitHub OAuth tokens with the regex ^[.A-Za-z0-9_]+$ and interpolates rejected tokens into an UnexpectedValueException; GitHub Actions GITHUB_TOKEN values using the ghs_<id>_<base64url-JWT> format can contain -, fail validation, and be disclosed to stderr or CI logs. This issue is fixed in versions 1.10.28, 2.2.28, and 2.9.8.
- Record
ALPINE-CVE-2026-45793- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-03
OSV
7.5
Composer: Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
Composer is a dependency Manager for the PHP language. Prior to 1.10.28, 2.2.28, and 2.9.8, Composer\IO\BaseIO::loadConfiguration() validates GitHub OAuth tokens with the regex ^[.A-Za-z0-9_]+$ and interpolates rejected tokens into an UnexpectedValueException; GitHub Actions GITHUB_TOKEN values using the ghs_<id>_<base64url-JWT> format can contain -, fail validation, and be disclosed to stderr or CI logs. This issue is fixed in versions 1.10.28, 2.2.28, and 2.9.8.
- Record
CVE-2026-45793- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
Show 13 moreShow less
OSVDEBIAN-CVE-2026-45793
7.5
Composer is a dependency Manager for the PHP language. Prior to 1.10.28, 2.2.28, and 2.9.8, Composer\IO\BaseIO::loadConfiguration() validates GitHub OAuth tokens with the regex ^[.A-Za-z0-9_]+$ and interpolates rejected tokens into an UnexpectedValueException; GitHub Actions GITHUB_TOKEN values using the ghs_<id>_<base64url-JWT> format can contain -, fail validation, and be disclosed to stderr or CI logs. This issue is fixed in versions 1.10.28, 2.2.28, and 2.9.8.
- Record
DEBIAN-CVE-2026-45793- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-f9f8-rm49-7jv2
7.5
Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
Summary
Composer leaks the full contents of tokens configured as GitHub OAuth tokens if they do not match Composer's expected format for such tokens to stderr. GitHub has introduced a new format for GitHub Actions GITHUB_TOKEN values. These tokens are validated in the same way by Composer on GitHub Actions. The new format including a - (hyphen) fails Composer's validation and leads to disclosure of the GITHUB_TOKEN in logs.
Many widely-used Actions (e.g. shivammathur/setup-php) auto-register GITHUB_TOKEN into composer's global auth.json, so the leak triggers without any unusual user configuration.
GitHub Actions tokens expire when the associated job finishes, and they are scoped to the respective repository only. So in most regular cases the Composer validation, which errors while leaking the token, also immediately ends the job, expiring the token immediately. Tokens expire at the very latest after 6 hours on GitHub-hosted runners. If you use self-hosted runner, expiration is at most 24 hours after creation. The new token format is being rolled out gradually, so not all repositories are affected yet, but will be soon.
Classic ghp_ PATs are not affected by the regex bug per se, but the same leak primitive applies to any future credential that fails validation for any reason.
Details
When a GitHub token fails regular expression validation of the character set, the rejected token is interpolated verbatim into the UnexpectedValueException message thrown by Composer\IO\BaseIO::loadConfiguration(), which Symfony Console then prints. Validation reliably fails for any token containing a - (hyphen), which includes the modern ghs_<id>_<base64url-JWT> GitHub App installation token format, the same format used by GitHub Actions' built-in GITHUB_TOKEN and by actions/create-github-app-token.
Severity: medium. Pre-conditions are common in real-world CI. Practical blast radius is bounded by the leaked credential's scope and TTL (short for a workflow GITHUB_TOKEN, longer for App-minted tokens or user-issued credentials that happen to contain -).
Vulnerable code, src/Composer/IO/BaseIO.php (line 139 on main, line 143 on 2.8.x), inside loadConfiguration():
// allowed chars for GH tokens are from https://github.blog/changelog/2021-03-04-authentication-token-format-updates/
// plus dots which were at some point used for GH app integration tokens
if (!Preg::isMatch('{^[.A-Za-z0-9_]+$}', $token)) {
throw new \UnexpectedValueException(
'Your github oauth token for '.$domain.' contains invalid characters: "'.$token.'"'
);
}
Three issues combine to produce the leak:
-
The rejected token is interpolated into the exception message. The exception bubbles up to Symfony Console's default error renderer, which writes it to stderr. Any environment that captures stderr (CI logs, log shippers, monitoring, support transcripts) now has the raw token.
-
The validation regex
^[.A-Za-z0-9_]+$does not permit-. GitHub's currentghs_<numeric-id>_<base64url-JWT>structured installation tokens routinely contain-, because base64url (RFC 4648 §5) uses-and_as URL-safe replacements for+and/. The regex was chosen in 2021 on the understanding that GitHub tokens use only[A-Za-z0-9_]plus.. -
Detection / mitigation in upstream platforms is unreliable. GitHub Actions' built-in secret masker matches registered values as exact substrings. When the exception message is rendered by Symfony Console it may wrap, embed in
In BaseIO.php line N:framing, or interleave with ANSI control sequences. So the masker does not redact, and the plaintext token reaches the log.
- Record
GHSA-f9f8-rm49-7jv2- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-45793
7.5
Composer is a dependency Manager for the PHP language. Prior to 1.10.28, 2.2.28, and 2.9.8, Composer\IO\BaseIO::loadConfiguration() validates GitHub OAuth tokens with the regex ^[.A-Za-z0-9_]+$ and interpolates rejected tokens into an UnexpectedValueException; GitHub Actions GITHUB_TOKEN values using the ghs_<id>_<base64url-JWT> format can contain -, fail validation, and be disclosed to stderr or CI logs. This issue is fixed in versions 1.10.28, 2.2.28, and 2.9.8.
- Record
UBUNTU-CVE-2026-45793- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVBIT-composer-2026-45793 No score
Composer: Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
Composer is a dependency Manager for the PHP language. Prior to 1.10.28, 2.2.28, and 2.9.8, Composer\IO\BaseIO::loadConfiguration() validates GitHub OAuth tokens with the regex ^[.A-Za-z0-9_]+$ and interpolates rejected tokens into an UnexpectedValueException; GitHub Actions GITHUB_TOKEN values using the ghs_<id>_<base64url-JWT> format can contain -, fail validation, and be disclosed to stderr or CI logs. This issue is fixed in versions 1.10.28, 2.2.28, and 2.9.8.
- Record
BIT-composer-2026-45793- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11300-1 No score
php-composer2-2.10.2-2.1 on GA media
These are all security issues fixed in the php-composer2-2.10.2-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11300-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
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
composer/composerPackagist |
2.3.0 up to 2.9.8 | 2.9.8 |
composer/composerPackagist |
2.0.0 up to 2.2.28 | 2.2.28 |
composer/composerPackagist |
1.0 up to 1.10.28 | 1.10.28 |
composerAlpine:v3.24 |
before 2.9.8-r0 | 2.9.8-r0 |
composerBitnami |
1.0.0 up to 1.10.28, 2.0.0 up to 2.2.28, 2.3.0 up to 2.9.8 | 1.10.282.2.282.9.8 |
composerDebian:12 |
before 2.5.5-1+deb12u5, plus listed versions 2.5.5-12.5.5-1+deb12u12.5.5-1+deb12u22.5.5-1+deb12u32.5.5-1+deb12u4 |
2.5.5-1+deb12u5 |
composerDebian:13 |
before 2.8.8-1+deb13u3, plus listed versions 2.8.8-12.8.8-1+deb13u12.8.8-1+deb13u2 |
2.8.8-1+deb13u3 |
composerDebian:14 |
before 2.10.0-1, plus listed versions 2.10.0~rc1-12.10.0~rc1-22.10.0~rc1-32.10.0~rc2-12.8.10-1 Show 13 moreShow less2.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.0-1 |
composer/composerPackagist |
2.3.0 up to 2.9.8, plus listed versions 2.3.12.3.102.3.22.3.32.3.4 Show 45 moreShow less2.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.112.8.122.8.22.8.32.8.4 |
2.9.8 |
composer/composerPackagist |
2.0.0 up to 2.2.28, plus listed versions 2.0.12.0.102.0.112.0.122.0.13 Show 45 moreShow less2.0.142.0.22.0.32.0.42.0.52.0.62.0.72.0.82.0.92.1.02.1.0-RC12.1.12.1.102.1.112.1.122.1.142.1.22.1.32.1.42.1.52.1.62.1.72.1.82.1.92.2.02.2.0-RC12.2.12.2.102.2.112.2.122.2.132.2.142.2.152.2.162.2.172.2.182.2.192.2.22.2.202.2.212.2.222.2.232.2.242.2.252.2.26 |
2.2.28 |
Show 23 moreShow less
| Package | Affected | Fixed |
|---|---|---|
composer/composerPackagist |
1.0 up to 1.10.28, plus listed versions 1.0.01.0.0-alpha11.0.0-alpha101.0.0-alpha111.0.0-alpha2 Show 45 moreShow less1.0.0-alpha31.0.0-alpha41.0.0-alpha51.0.0-alpha61.0.0-alpha71.0.0-alpha81.0.0-alpha91.0.0-beta11.0.0-beta21.0.11.0.21.0.31.1.01.1.0-RC1.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.31.10.41.10.51.10.61.10.71.10.8 |
1.10.28 |
php-composer2SUSE:Linux Enterprise Server 16.0 From an advisory covering 7 CVEs |
before 2.8.9-160000.4.1 | 2.8.9-160000.4.1 |
php-composer2SUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 7 CVEs |
before 2.8.9-160000.4.1 | 2.8.9-160000.4.1 |
php-composer2SUSE:Linux Enterprise Server 16.0 From an advisory covering 3 CVEs |
before 2.8.9-160000.6.1 | 2.8.9-160000.6.1 |
php-composer2SUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 3 CVEs |
before 2.8.9-160000.6.1 | 2.8.9-160000.6.1 |
php-composer2SUSE:Linux Enterprise Module for Web and Scripting 15 SP7 From an advisory covering 9 CVEs |
before 2.6.4-150600.3.12.1 | 2.6.4-150600.3.12.1 |
php-composer2SUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 9 CVEs |
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 From an advisory covering 9 CVEs |
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 From an advisory covering 6 CVEs |
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 From an advisory covering 6 CVEs |
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 From an advisory covering 6 CVEs |
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 From an advisory covering 6 CVEs |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 6 CVEs |
before 2.2.30-150400.3.21.1 | 2.2.30-150400.3.21.1 |
php-composer2SUSE:Linux Enterprise Server 15 SP5-LTSS From an advisory covering 6 CVEs |
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 From an advisory covering 6 CVEs |
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 From an advisory covering 6 CVEs |
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 From an advisory covering 3 CVEs |
before 2.6.4-150600.3.23.1 | 2.6.4-150600.3.23.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 |
php-composer2openSUSE:Tumbleweed |
before 2.10.2-2.1 | 2.10.2-2.1 |
php-composer2openSUSE:Leap 16.0 From an advisory covering 7 CVEs |
before 2.8.9-160000.4.1 | 2.8.9-160000.4.1 |
php-composer2openSUSE:Leap 16.0 From an advisory covering 3 CVEs |
before 2.8.9-160000.6.1 | 2.8.9-160000.6.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected, aliases, references | OSV | |
| 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-45793 is a high vulnerability (CVSS 7.5) in Composer, published May 19, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.02%, the 63rd percentile. Fixed in composer/composer 2.9.8.
References
github.com/composer/composer/security/advisories/GHSA-f9f8-rm49-7jv2
github.com/composer/composer/pull/12853
github.com/composer/composer/pull/12855
github.com/composer/composer/commit/3f5e7f9fbfa541137d6d1d5643ec3b718e9d5039
github.com/composer/composer/commit/65e6390c49f1a11cd8b660d81822086db51fe2d1
github.com/composer/composer/commit/e66c8fdb7ff5409bd2f358c5f194038e49e93714
Show 40 moreShow less
github.com/composer/composer/releases/tag/1.10.28
github.com/composer/composer/releases/tag/2.2.28
github.com/composer/composer/releases/tag/2.9.8
github.com/FriendsOfPHP/security-advisories/blob/master/composer/composer/CVE-2026-45793.yaml
nvd.nist.gov/vuln/detail/CVE-2026-45793
github.com/advisories/GHSA-f9f8-rm49-7jv2
security.alpinelinux.org/vuln/CVE-2026-45793
github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45793.json
security-tracker.debian.org/tracker/CVE-2026-45793
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
ubuntu.com/security/CVE-2026-45793
cve.org/CVERecord?id=CVE-2026-45793
Left out here: 68 versions. The JSON record has them.