Description
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.
Published: 2026-07-15
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Composer is a dependency manager for PHP. In Composer versions before 1.10.28, 2.2.28, and 2.9.8, the loadConfiguration() method validates GitHub OAuth tokens against the regex ^[.A-Za-z0-9_]+$ and, when a token fails validation, includes the rejected token in an UnexpectedValueException. GitHub Actions generates GITHUB_TOKEN values in the form ghs_<id>_<base64url-JWT>, which contain dash characters, causing the token to fail validation and be written to stderr or pipeline logs. This results in a privileged credential being exposed in CI logs. The vulnerability is resolved in the aforementioned Composer releases.

Affected Systems

The flaw is present in Composer versions earlier than 1.10.28, 2.2.28, and 2.9.8. These versions are used broadly for dependency resolution in PHP projects that run within GitHub Actions workflows, so any project that relies on an outdated Composer binary in its CI pipeline is affected.

Risk and Exploitability

The CVSS score of 7.5 indicates medium‑to‑high severity, while the EPSS score of less than 1 % points to a very low yet non‑zero probability of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker would need to obtain read access to CI logs – either through a repository’s log viewer permissions or by compromising the workflow runner environment – to harvest the leaked token. The attack vector is therefore local to the CI environment and does not involve remote code execution.

Generated by OpenCVE AI on July 31, 2026 at 03:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Composer to version 1.10.28, 2.2.28, or 2.9.8 or later in all GitHub Actions workflows
  • Ensure that the updated Composer binary is invoked during the dependency resolution step of every GitHub Action that uses Composer
  • Restrict access to CI logs to authorized personnel and enable GitHub’s secret masking to prevent the GITHUB_TOKEN from being displayed in log output

Generated by OpenCVE AI on July 31, 2026 at 03:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-f9f8-rm49-7jv2 Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
History

Thu, 30 Jul 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Getcomposer
Getcomposer composer
Vendors & Products Getcomposer
Getcomposer composer

Wed, 15 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 15 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Composer: Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
Weaknesses CWE-200
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Getcomposer Composer
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-15T18:11:10.355Z

Reserved: 2026-05-13T08:19:32.603Z

Link: CVE-2026-45793

cve-icon Vulnrichment

Updated: 2026-07-15T18:11:07.531Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T03:30:18Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor