{"schemaVersion":3,"id":"CVE-2026-15343","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"A path traversal vulnerability was identified in GitHub Enterprise Server that allowed an attacker who had code execution inside the Dependabot updater container to write files to arbitrary repository paths, including GitHub Actions workflow files under .github/workflows/ as the path validation did not check the effective path which the attacker could control through the dependency file's directory and symlink target. If the repository used a pull_request_target workflow or had auto-merge enabled, an injected workflow could execute with access to the repository's GitHub Actions secrets. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.22 and was fixed in versions 3.21.3, 3.20.5, 3.19.9, 3.18.12, 3.17.18.","dates":{"published":"2026-07-17T15:18:46.037Z","modified":"2026-07-17T16:33:04.480Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.6,"severity":"high","version":"4.0","versionLabel":"v4.0","source":"CVE.org","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":8.6,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":8.6,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00752,"percentile":0.54445,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0.18199999999999997,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.0057},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00752,"percentile":0.54445}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0057,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00752,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00752,"percentile":0.54445}]},"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-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"github","product":"enterprise_server","name":"enterprise server","label":"enterprise_server","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 3.17.0, ≤ 3.17.17","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.18.0, ≤ 3.18.11","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.19.0, ≤ 3.19.8","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.20.0, ≤ 3.20.4","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.21.0, ≤ 3.21.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.17.0, ≤ 3.17.17 | ≥ 3.18.0, ≤ 3.18.11 | ≥ 3.19.0, ≤ 3.19.8 | ≥ 3.20.0, ≤ 3.20.4 | ≥ 3.21.0, ≤ 3.21.2","eol":null,"hubHref":"/vendor/github/enterprise_server"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://docs.github.com/en/enterprise-server@3.17/admin/release-notes#3.17.18","label":"docs.github.com/en/enterprise-server@3.17/admin/release-notes","hostname":"docs.github.com","tags":["Release Notes"]},{"url":"https://docs.github.com/en/enterprise-server@3.18/admin/release-notes#3.18.12","label":"docs.github.com/en/enterprise-server@3.18/admin/release-notes","hostname":"docs.github.com","tags":["Release Notes"]},{"url":"https://docs.github.com/en/enterprise-server@3.19/admin/release-notes#3.19.9","label":"docs.github.com/en/enterprise-server@3.19/admin/release-notes","hostname":"docs.github.com","tags":["Release Notes"]},{"url":"https://docs.github.com/en/enterprise-server@3.20/admin/release-notes#3.20.5","label":"docs.github.com/en/enterprise-server@3.20/admin/release-notes","hostname":"docs.github.com","tags":["Release Notes"]},{"url":"https://docs.github.com/en/enterprise-server@3.21/admin/release-notes#3.21.3","label":"docs.github.com/en/enterprise-server@3.21/admin/release-notes","hostname":"docs.github.com","tags":["Release Notes"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-07-17T15:18:46.037Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-07-17T16:33:04.480Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":35,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T08:33:15.550Z","stale":false,"partial":false}}