CVE-2026-45793 json
Composer: Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
published 2026-05-19 5 mo ago modified 2026-07-20 3 mo ago also BIT-composer-2026-45793 , EUVD-2026-44723 , GHSA-f9f8-rm49-7jv2
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 63%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- packagist composer/composer 1.10.28, 2.2.28, 2.9.8
- bitnami composer 1.10.28, 2.2.28, 2.9.8
- getcomposer composer 1.10.28, 2.2.28, 2.9.8
- composer Debian 12 2.5.5-1+deb12u5
- composer Debian 13 2.8.8-1+deb13u3
- composer Debian 14 2.10.0-1
debian advisories DEBIAN-CVE-2026-45793
- 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
- php-composer2 SLES 16.0, SLES for SAP applications 16.0 2.8.9-160000.4.1
- php-composer2 SLES for SAP 15 SP6, SLES 15 SP6-LTSS, SLE Module for Web and Scripting 15 SP7 2.6.4-150600.3.12.1
suse advisories SUSE-SU-2026:23943-1SUSE-SU-2026:4288-1SUSE-SU-2026:4283-1SUSE-SU-2026:23116-1SUSE-SU-2026:23138-1SUSE-SU-2026:3105-1
- php-composer2 openSUSE Leap 16.0 2.8.9-160000.6.1
- php-composer2 openSUSE Leap 16.0 2.8.9-160000.4.1
- php-composer2 openSUSE Tumbleweed 2.10.2-2.1
opensuse advisories openSUSE-SU-2026:21970-1openSUSE-SU-2026:21520-1openSUSE-SU-2026:11300-1
- composer Alpine 3.24 2.9.8-r0
alpine advisories ALPINE-CVE-2026-45793
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/composer/composer@3f5e7f9 commit
- github.com/composer/composer@65e6390 commit
- github.com/composer/composer@e66c8fd commit
- github.com/composer/composer#12853 pull request
- github.com/composer/composer#12855 pull request
- github.com/composer/composer/releases/tag/1.10.28 release
- github.com/composer/composer/releases/tag/2.2.28 release
- github.com/composer/composer/releases/tag/2.9.8 release
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-45793 updated cvss 7.5
composer/composer: Composer: Information disclosure of GitHub OAuth tokens via improper validation
-
Red Hat Hardened Images composernot affected: vulnerable code not present
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
- yes
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
1.02% chance of exploitation in the next 30 days, higher than 63% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | composer/composer | >=2.3.0, <2.9.8 >=2.0.0, <2.2.28 >=1.0, <1.10.28 |
2.9.8 2.2.28 1.10.28 |
| bitnami | composer | >=1.0.0, <1.10.28 >=2.0.0, <2.2.28 >=2.3.0, <2.9.8 |
1.10.28 2.2.28 2.9.8 |
Affected products
- composer composer
Classification
- Weakness
-
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
References
-
github.com
/composer/composer/pull/12853
web
-
github.com
/composer/composer/pull/12855
web
-
github.com
/composer/composer/commit/3f5e7f9fbfa541137d6d1d5643ec3b718e9d5039
web
-
github.com
/composer/composer/commit/65e6390c49f1a11cd8b660d81822086db51fe2d1
web
-
github.com
/composer/composer/commit/e66c8fdb7ff5409bd2f358c5f194038e49e93714
web
-
github.com
/composer/composer/security/advisories/GHSA-f9f8-rm49-7jv2
web
-
github.com
/composer/composer/releases/tag/1.10.28
web
-
github.com
/composer/composer/releases/tag/2.2.28
web
-
github.com
/composer/composer/releases/tag/2.9.8
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-45793
advisory, web
-
github.com
/FriendsOfPHP/security-advisories/blob/master/composer/composer/CVE-2026-45793.yaml
web
-
github.com
/composer/composer
package
Sources
- CVE List CVE-2026-45793
- GitHub Advisory GHSA-f9f8-rm49-7jv2
- NVD CVE-2026-45793
- OSV BIT-composer-2026-45793
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.