{"schemaVersion":3,"id":"CVE-2026-54167","aliases":["GHSA-f5f4-3hh4-f54m","GO-2026-6266"],"status":"published","duplicateOf":null,"title":null,"description":"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.","dates":{"published":"2026-09-15T14:29:45.535Z","modified":"2026-09-15T14:49:57.706Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.2,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":8.2,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Go","score":8.2,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N","exploitability":10,"impact":7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":8.2,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00268,"percentile":0.17853,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.084,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00184},"history":[{"date":"2026-09-16T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00268,"percentile":0.17853}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00184,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00268,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00268,"percentile":0.17853}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-345","name":"Insufficient Verification of Data Authenticity","description":"The product does not sufficiently verify the origin or authenticity of data, in a way that causes it to accept invalid data.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/345.html"}],"affected":[{"vendor":"github.com/openshift-pipelines","product":"pipelines-as-code","name":"github.com/openshift-pipelines/pipelines-as-code","label":"pipelines-as-code","ecosystem":"Go","cpePart":null,"purl":"pkg:golang/github.com/openshift-pipelines/pipelines-as-code","purlType":"golang","versions":[{"text":"≥ 0.40.0, < 0.42.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 0.38.0, < 0.39.6","noFixRecorded":false,"fixedIn":null},{"text":"< 0.37.8","noFixRecorded":false,"fixedIn":null},{"text":"≥ 0.43.0, < 0.48.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 0.40.0, < 0.42.1 | ≥ 0.38.0, < 0.39.6 | < 0.37.8 | ≥ 0.43.0, < 0.48.0","eol":null,"hubHref":null},{"vendor":"tektoncd","product":"pipelines-as-code","name":"pipelines-as-code","label":"pipelines-as-code","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 0.37.8","noFixRecorded":false,"fixedIn":null},{"text":"≥ 0.38.0, < 0.39.6","noFixRecorded":false,"fixedIn":null},{"text":"≥ 0.40.0, < 0.42.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 0.43.0, < 0.48.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.37.8 | ≥ 0.38.0, < 0.39.6 | ≥ 0.40.0, < 0.42.1 | ≥ 0.43.0, < 0.48.0","eol":null,"hubHref":"/vendor/tektoncd/pipelines-as-code"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/tektoncd/pipelines-as-code/security/advisories/GHSA-f5f4-3hh4-f54m","label":"github.com/tektoncd/pipelines-as-code/security/advisories/GHSA-f5f4-3hh4-f54m","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Advisory"]},{"url":"https://github.com/tektoncd/pipelines-as-code/commit/402d5c7eeece881cb082ec68e9e8b61709e39ace","label":"github.com/tektoncd/pipelines-as-code/commit/402d5c7eeece881cb082ec68e9e8b61709e39ace","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tektoncd/pipelines-as-code/commit/40813976a77920feaf52671320d6d3c5ff08eb7e","label":"github.com/tektoncd/pipelines-as-code/commit/40813976a77920feaf52671320d6d3c5ff08eb7e","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tektoncd/pipelines-as-code/commit/ac6fded6dfb69ade7197d4eeed6e90ddbe1b79bc","label":"github.com/tektoncd/pipelines-as-code/commit/ac6fded6dfb69ade7197d4eeed6e90ddbe1b79bc","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tektoncd/pipelines-as-code/commit/e0c4a11ea3800ab9d26cf3a8ae92b74cf18527c3","label":"github.com/tektoncd/pipelines-as-code/commit/e0c4a11ea3800ab9d26cf3a8ae92b74cf18527c3","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tektoncd/pipelines-as-code/releases/tag/v0.37.8","label":"github.com/tektoncd/pipelines-as-code/releases/tag/v0.37.8","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tektoncd/pipelines-as-code/releases/tag/v0.39.6","label":"github.com/tektoncd/pipelines-as-code/releases/tag/v0.39.6","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tektoncd/pipelines-as-code/releases/tag/v0.42.1","label":"github.com/tektoncd/pipelines-as-code/releases/tag/v0.42.1","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tektoncd/pipelines-as-code/releases/tag/v0.48.0","label":"github.com/tektoncd/pipelines-as-code/releases/tag/v0.48.0","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tektoncd/pipelines-as-code","label":"github.com/tektoncd/pipelines-as-code","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:21761-1","SUSE-SU-2026:23625-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:21761-1","SUSE-SU-2026:23625-1"]},"timeline":[{"kind":"published","date":"2026-09-15T14:29:45.535Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-15T14:49:57.706Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":33,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T00:32:03.753Z","stale":false,"partial":false}}