CVE-2026-54167: Github.com/openshift pipelines/pipelines as code Pipelines-as-Code GitHub App Token Request Vulnerability
HIGHCVE-2026-54167 is a HIGH (CVSS 8.2) pipelines-as-code github app token request vulnerability (CWE-345: Insufficient Verification of Data Authenticity) affecting Github.com/openshift pipelines/pipelines as code libraries in the Go ecosystem. The issue involves pipelines-as-code github app token request can be redirected via untrusted enterprise host header. Remediation is available by upgrading affected packages to version 0.48.0, 0.42.1, 0.39.6, 0.37.8.
CVE-2026-54167 at a Glance
Security Impact
CVSS: 8.2
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N).
How to Fix CVE-2026-54167
To remediate this vulnerability, upgrade all affected Github.com/openshift pipelines/pipelines as code dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/openshift-pipelines/pipelines-as-code to 0.48.0
Upgrade github.com/openshift-pipelines/pipelines-as-code to 0.42.1
Upgrade github.com/openshift-pipelines/pipelines-as-code to 0.39.6
Upgrade github.com/openshift-pipelines/pipelines-as-code to 0.37.8
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/openshift-pipelines/pipelines-as-code
How to Check if You Are Affected
To determine whether your application is affected by CVE-2026-54167, inspect your project dependencies for Github.com/openshift pipelines/pipelines as code:
inspect dependencies for github.com/openshift-pipelines/pipelines-as-code
Analyze the terminal output to locate any version of Github.com/openshift pipelines/pipelines as code in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.48.0), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-345: Insufficient Verification of Data Authenticity, where the product does not sufficiently verify the origin or authenticity of data, in a way that causes it to accept invalid data. In Github.com/openshift pipelines/pipelines as code, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-54167 Affected Github.com/openshift pipelines/pipelines as code Versions
4 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/openshift-pipelines/pipelines-as-code
|
Go |
≥ 0.43.0
< 0.48.0
|
0.48.0
|
|
github.com/openshift-pipelines/pipelines-as-code
|
Go |
≥ 0.40.0
< 0.42.1
|
0.42.1
|
|
github.com/openshift-pipelines/pipelines-as-code
|
Go |
≥ 0.38.0
< 0.39.6
|
0.39.6
|
|
github.com/openshift-pipelines/pipelines-as-code
|
Go |
< 0.37.8
|
0.37.8
|
References
Frequently Asked Questions
What is CVE-2026-54167?
Which Github.com/openshift pipelines/pipelines as code versions are affected?
What version fixes CVE-2026-54167?
Is github.com/openshift-pipelines/pipelines-as-code affected?
What is the CVSS score of CVE-2026-54167?
What CWE is associated with CVE-2026-54167?
How can I check Go dependencies for CVE-2026-54167?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-f5f4-3hh4-f54m",
"modified" : "2026-08-20T18:36:30Z",
"published" : "2026-08-20T18:36:30Z",
"aliases" : [ "CVE-2026-54167" ],
"summary" : "Pipelines-as-Code GitHub App token request can be redirected via untrusted Enterprise Host header",
"details" : "## Impact\n\nPipelines-as-Code installations using the GitHub App provider are vulnerable to GitHub App credential exfiltration through the webhook endpoint.\n\nAffected versions accepted the `X-GitHub-Enterprise-Host` request header as the GitHub Enterprise API host during GitHub App token generation. For GitHub webhook events containing an `installation.id`, Pipelines-as-Code generated a GitHub App JWT and requested an installation access token before validating the webhook signature or checking that the Enterprise host matched the repository URL in the signed payload.\n\nAn attacker who can reach the Pipelines-as-Code webhook endpoint can send a crafted GitHub webhook payload containing an installation ID and set `X-GitHub-Enterprise-Host` to an attacker-controlled host. During token generation, the controller signs a GitHub App JWT locally and sends it to the selected API host. This can disclose the GitHub App JWT to the attacker-controlled service, allowing the attacker to attempt to mint GitHub App installation access tokens within the JWT validity window, subject to the GitHub App installation and permissions.\n\nThe incoming webhook flow also trusted `X-GitHub-Enterprise-Host` during GitHub App installation lookup and token generation. In that path, exploitation requires a valid incoming webhook secret for the target Repository CR.\n\n## Patches\n\nThe fix validates the webhook signature before GitHub App token generation, verifies that `X-GitHub-Enterprise-Host` matches the repository URL in the webhook payload, and stops using the request header to select the GitHub Enterprise host for incoming webhook token requests. For incoming webhooks, the Enterprise host is derived from the configured Repository URL instead.\n\nThe fix is available in v0.48.0. Supported backport releases will be added here after release tags are published.\n\n## Workarounds\n\nUntil a patched release is deployed, operators should block or strip unexpected `X-GitHub-Enterprise-Host` headers at the ingress or proxy in front of the Pipelines-as-Code webhook endpoint. For GitHub.com installations, reject requests that include this header. For GitHub Enterprise Server installations, allow only the expected Enterprise hostname.\n\nOperators should also restrict access to the webhook endpoint to trusted Git provider sources where possible. If exploitation is suspected, rotate the GitHub App private key and review GitHub App installation token activity.\n\n## Credits\n\nReported and fixed by the Pipelines-as-Code maintainers.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/openshift-pipelines/pipelines-as-code"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0.43.0"
}, {
"fixed" : "0.48.0"
} ]
} ]
}, {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/openshift-pipelines/pipelines-as-code"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0.40.0"
}, {
"fixed" : "0.42.1"
} ]
} ]
}, {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/openshift-pipelines/pipelines-as-code"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0.38.0"
}, {
"fixed" : "0.39.6"
} ]
} ]
}, {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/openshift-pipelines/pipelines-as-code"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.37.8"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/tektoncd/pipelines-as-code/security/advisories/GHSA-f5f4-3hh4-f54m"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/tektoncd/pipelines-as-code"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-345" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-08-20T18:36:30Z",
"nvd_published_at" : null
}
}