{"schemaVersion":3,"id":"CVE-2026-28406","aliases":["GHSA-6rxq-q92g-4rmf","GO-2026-4580"],"status":"published","duplicateOf":null,"title":null,"description":"kaniko is a tool to build container images from a Dockerfile, inside a container or Kubernetes cluster. Starting in version 1.25.4 and prior to version 1.25.10, kaniko unpacks build context archives using `filepath.Join(dest, cleanedName)` without enforcing that the final path stays within `dest`. A tar entry like `../outside.txt` escapes the extraction root and writes files outside the destination directory. In environments with registry authentication, this can be chained with docker credential helpers to achieve code execution within the executor process. Version 1.25.10 uses securejoin for path resolution in tar extraction.","dates":{"published":"2026-02-27T21:20:52.764Z","modified":"2026-07-15T01:11:46.081Z","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:N/I:H/A:L","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:N/I:H/A:L","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:N/I:H/A:L","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:N/I:H/A:L","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00854,"percentile":0.57662,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.24100000000000008,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00613},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00804,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00804,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00854,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00854,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00854,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00854,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00854,"percentile":0.57662}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00613,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00804,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00804,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00836,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00854,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00854,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00854,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00854,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00854,"percentile":0.57662}]},"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":"chainguard-forks","product":"kaniko","name":"kaniko","label":"kaniko","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 1.25.4, < 1.25.10","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 1.25.4, < 1.25.10","eol":null,"hubHref":"/vendor/chainguard-forks/kaniko"},{"vendor":"chainguard","product":"kaniko","name":"kaniko","label":"kaniko","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 1.25.4, < 1.25.10","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 1.25.4, < 1.25.10","eol":null,"hubHref":"/vendor/chainguard/kaniko"},{"vendor":"github.com/chainguard-dev","product":"kaniko","name":"github.com/chainguard-dev/kaniko","label":"kaniko","ecosystem":"Go","cpePart":null,"purl":"pkg:golang/github.com/chainguard-dev/kaniko","purlType":"golang","versions":[{"text":"≥ 1.25.4, < 1.25.10","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 1.25.4, < 1.25.10","eol":null,"hubHref":null}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/chainguard-forks/kaniko/security/advisories/GHSA-6rxq-q92g-4rmf","label":"github.com/chainguard-forks/kaniko/security/advisories/GHSA-6rxq-q92g-4rmf","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Advisory","Patch","Vendor Advisory"]},{"url":"https://github.com/chainguard-forks/kaniko/pull/326","label":"github.com/chainguard-forks/kaniko/pull/326","hostname":"github.com","tags":["X Refsource MISC","WEB","Issue Tracking","Patch"]},{"url":"https://github.com/chainguard-forks/kaniko/commit/a370e4b1f66e6e842b685c8f70ed507964c4b221","label":"github.com/chainguard-forks/kaniko/commit/a370e4b1f66e6e842b685c8f70ed507964c4b221","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-28406","label":"access.redhat.com/security/cve/CVE-2026-28406","hostname":"access.redhat.com","tags":["VDB Entry","X Refsource REDHAT"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2443462","label":"bugzilla.redhat.com/show_bug.cgi?id=2443462","hostname":"bugzilla.redhat.com","tags":["Issue Tracking","X Refsource REDHAT"]},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-28406.json","label":"security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-28406.json","hostname":"security.access.redhat.com","tags":["X Sadp Csaf Vex"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-28406","label":"nvd.nist.gov/vuln/detail/CVE-2026-28406","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/chainguard-forks/kaniko","label":"github.com/chainguard-forks/kaniko","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://github.com/chainguard-forks/kaniko/releases/tag/v1.25.10","label":"github.com/chainguard-forks/kaniko/releases/tag/v1.25.10","hostname":"github.com","tags":["WEB"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:21483-1","SUSE-SU-2026:1042-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:21483-1","SUSE-SU-2026:1042-1"]},"timeline":[{"kind":"published","date":"2026-02-27T21:20:52.764Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-07-15T01:11:46.081Z","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-20T14:26:49.119Z","stale":false,"partial":false}}