Pipelines-as-Code GitHub App token request can be redirected via untrusted Enterprise Host header
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 0.37.8, 0.39.6, 0.42.1, 0.48.0
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
Pipelines-as-Code is a CI/CD system that lets users define Tekton pipelines in source code repositories. Prior to 0.37.8, 0.39.6, 0.42.1, and 0.48.0, the GitHub App provider accepts X-GitHub-Enterprise-Host as the API host while processing webhook events containing an installation.id, before webhook signature validation or confirmation that the host matches the repository URL in the signed payload. An unauthenticated attacker who can reach the webhook endpoint can select an attacker-controlled host and cause the controller to send a locally signed GitHub App JWT to that service. The exposed JWT may be used to attempt to mint installation access tokens during its validity window, subject to the GitHub App installation and permissions. The incoming webhook installation-lookup path is also affected, but exploitation of that path requires the valid incoming webhook secret for the target Repository CR. This issue is fixed in versions 0.37.8, 0.39.6, 0.42.1, and 0.48.0.
Timeline
- CVE published
- Record last updated
Affected versions
- tektoncd pipelines-as-code
fixed in 0.37.8; From 0.38.0 · fixed in 0.39.6; From 0.40.0 · fixed in 0.42.1; From 0.43.0 · fixed in 0.48.0
- github.com/openshift-pipelines/pipelines-as-codeGo
From 0.43.0 · fixed in 0.48.0
- github.com/openshift-pipelines/pipelines-as-codeGo
From 0.40.0 · fixed in 0.42.1
- github.com/openshift-pipelines/pipelines-as-codeGo
From 0.38.0 · fixed in 0.39.6
- github.com/openshift-pipelines/pipelines-as-codeGo
fixed in 0.37.8