Description

A security flaw recently discovered in PHP’s Composer dependency manager exposed sensitive GitHub Actions tokens in CI/CD workflow logs after GitHub introduced a new authentication token format. Composer’s validation mechanism failed to properly recognize the updated token structure and mistakenly printed the tokens in plaintext whenever validation errors occurred. This created a serious security concern for organizations relying on automated GitHub Actions workflows for software development and deployment. The issue began after GitHub rolled out a revised format for GitHub App installation tokens on April 27, 2026. Unlike previous formats, the new tokens included variable lengths and additional separators, which conflicted with Composer’s existing validation logic. As a result, Composer versions earlier than 2.9.8 rejected the tokens as invalid and unintentionally exposed them through stderr error messages. Because CI/CD systems often capture and retain workflow logs, these credentials could become visible to anyone with access to the logs, especially in environments with weak access controls. The vulnerability mainly affects PHP projects running Composer inside GitHub Actions pipelines. Many CI configurations automatically inject the GITHUB_TOKEN into Composer authentication settings, making accidental exposure more likely during failed builds or dependency installation errors. Although GitHub-hosted runner tokens usually expire within a few hours, tokens used in self-hosted environments may remain active for up to 24 hours, increasing the risk of unauthorized access if leaked credentials are exploited.