{"schemaVersion":3,"id":"CVE-2024-12905","aliases":["UBUNTU-CVE-2024-12905","DEBIAN-CVE-2024-12905","CGA-95xw-rfjq-5q5x","CGA-g5w7-74j5-ph75","CGA-hvv5-qv4g-h4hw","CGA-p6wg-72q8-rw95","CGA-p7hq-5vmg-2q2q","CGA-pcvf-6266-gxjm","CGA-qh6r-79wc-52g6","CGA-rg69-52v8-cpvh","CGA-x455-f45g-v7cf","CGA-xgp6-qcxh-9c69","GHSA-pq67-2wwv-3xjx","CGA-2fcc-879v-396w","CGA-c24r-fvjx-r883","CGA-g6qj-pgw7-hfhw","CGA-v2wf-h6g7-mw99","CGA-wwf3-29h6-p2r4","CGA-xr38-j7cj-4jfh"],"status":"published","duplicateOf":null,"title":null,"description":"An Improper Link Resolution Before File Access (\"Link Following\") and Improper Limitation of a Pathname to a Restricted Directory (\"Path Traversal\"). This vulnerability occurs when extracting a maliciously crafted tar file, which can result in unauthorized file writes or overwrites outside the intended extraction directory. The issue is associated with index.js in the tar-fs package.\n\nThis issue affects tar-fs: from 0.0.0 before 1.16.4, from 2.0.0 before 2.1.2, from 3.0.0 before 3.0.8.","dates":{"published":"2025-03-27T16:25:34.410Z","modified":"2025-11-03T19:29:11.810Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.5,"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:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Wolfi","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Npm","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.02255,"percentile":0.82679,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0.039000000000000146,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.02216},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.02255,"percentile":0.82679}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.02216,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.02255,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.02255,"percentile":0.82679}]},"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":[{"id":"52268","name":"tar-fs 3.0.0 - Arbitrary File Write/Overwrite","source":"exploit-database","url":"https://www.exploit-db.com/exploits/52268","maturity":"poc","reliabilityScore":0.5,"verified":false,"type":"local","platforms":["linux"],"requiresAuth":null,"exploitdb":{"verified":false,"type":"local","platform":"linux","file":"exploits/linux/local/52268.py","codes":["CVE-2024-12905"]},"metasploit":null}],"exploitCount":1,"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"},{"id":"CWE-59","name":"Improper Link Resolution Before File Access ('Link Following')","description":"The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/59.html"}],"affected":[{"vendor":"chainguard","product":"code-server","name":"code-server","label":"code-server","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/code-server","purlType":"apk","versions":[{"text":"< 4.105.1-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.105.1-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"kibana-7","name":"kibana-7","label":"kibana-7","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/kibana-7","purlType":"apk","versions":[{"text":"< 7.17.28-r41","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 7.17.28-r41","eol":null,"hubHref":null},{"vendor":"chainguard","product":"sqlpad","name":"sqlpad","label":"sqlpad","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/sqlpad","purlType":"apk","versions":[{"text":"< 7.5.3-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 7.5.3-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"sqlpad-compat","name":"sqlpad-compat","label":"sqlpad-compat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/sqlpad-compat","purlType":"apk","versions":[{"text":"< 7.5.3-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 7.5.3-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"tileserver-gl","name":"tileserver-gl","label":"tileserver-gl","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/tileserver-gl","purlType":"apk","versions":[{"text":"< 5.2.0-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 5.2.0-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"tileserver-gl-compat","name":"tileserver-gl-compat","label":"tileserver-gl-compat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/tileserver-gl-compat","purlType":"apk","versions":[{"text":"< 5.2.0-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 5.2.0-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"tileserver-gl-fips","name":"tileserver-gl-fips","label":"tileserver-gl-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/tileserver-gl-fips","purlType":"apk","versions":[{"text":"< 5.2.0-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 5.2.0-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"tileserver-gl-fips-compat","name":"tileserver-gl-fips-compat","label":"tileserver-gl-fips-compat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/tileserver-gl-fips-compat","purlType":"apk","versions":[{"text":"< 5.2.0-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 5.2.0-r1","eol":null,"hubHref":null},{"vendor":"wolfi","product":"code-server","name":"code-server","label":"code-server","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/code-server","purlType":"apk","versions":[{"text":"< 4.105.1-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.105.1-r1","eol":null,"hubHref":null},{"vendor":"wolfi","product":"sqlpad","name":"sqlpad","label":"sqlpad","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/sqlpad","purlType":"apk","versions":[{"text":"< 7.5.3-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 7.5.3-r1","eol":null,"hubHref":null},{"vendor":"wolfi","product":"sqlpad-compat","name":"sqlpad-compat","label":"sqlpad-compat","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/sqlpad-compat","purlType":"apk","versions":[{"text":"< 7.5.3-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 7.5.3-r1","eol":null,"hubHref":null},{"vendor":"wolfi","product":"tileserver-gl","name":"tileserver-gl","label":"tileserver-gl","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/tileserver-gl","purlType":"apk","versions":[{"text":"< 5.2.0-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 5.2.0-r1","eol":null,"hubHref":null},{"vendor":"wolfi","product":"tileserver-gl-compat","name":"tileserver-gl-compat","label":"tileserver-gl-compat","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/tileserver-gl-compat","purlType":"apk","versions":[{"text":"< 5.2.0-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 5.2.0-r1","eol":null,"hubHref":null},{"vendor":"debian","product":"node-tar-fs","name":"node-tar-fs","label":"node-tar-fs","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/node-tar-fs","purlType":"deb","versions":[{"text":"< 2.1.3-0+deb12u1","noFixRecorded":false,"fixedIn":null},{"text":"< 3.0.8+~cs2.0.4-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.1.3-0+deb12u1 | < 3.0.8+~cs2.0.4-1","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"node-tar-fs","name":"node-tar-fs","label":"node-tar-fs","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/node-tar-fs","purlType":"deb","versions":[{"text":"< 2.1.1-6ubuntu0.22.04.1~esm1","noFixRecorded":false,"fixedIn":null},{"text":"< 2.1.1-6ubuntu0.24.04.1~esm1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.1.1-6ubuntu0.22.04.1~esm1 | < 2.1.1-6ubuntu0.24.04.1~esm1","eol":null,"hubHref":null},{"vendor":"Npm","product":"tar-fs","name":"tar-fs","label":"tar-fs","ecosystem":"Npm","cpePart":null,"purl":"pkg:npm/tar-fs","purlType":"npm","versions":[{"text":"< 1.16.4","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.0.0, < 2.1.2","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.0.0, < 3.0.7","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.16.4 | ≥ 2.0.0, < 2.1.2 | ≥ 3.0.0, < 3.0.7","eol":null,"hubHref":null}],"affectedCount":16,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/mafintosh/tar-fs/commit/a1dd7e7c7f4b4a8bd2ab60f513baca573b44e2ed","label":"github.com/mafintosh/tar-fs/commit/a1dd7e7c7f4b4a8bd2ab60f513baca573b44e2ed","hostname":"github.com","tags":["Patch","REPORT","FIX","WEB"]},{"url":"https://www.seal.security/blog/a-link-to-the-past-uncovering-a-new-vulnerability-in-tar-fs","label":"www.seal.security/blog/a-link-to-the-past-uncovering-a-new-vulnerability-in-tar-fs","hostname":"www.seal.security","tags":["Technical Description","ARTICLE","WEB"]},{"url":"https://lists.debian.org/debian-lts-announce/2025/06/msg00012.html","label":"lists.debian.org/debian-lts-announce/2025/06/msg00012.html","hostname":"lists.debian.org","tags":["WEB"]},{"url":"https://ubuntu.com/security/CVE-2024-12905","label":"ubuntu.com/security/CVE-2024-12905","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2024-12905","label":"www.cve.org/CVERecord?id=CVE-2024-12905","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://ubuntu.com/security/notices/USN-8367-1","label":"ubuntu.com/security/notices/USN-8367-1","hostname":"ubuntu.com","tags":["Advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2024-12905","label":"security-tracker.debian.org/tracker/CVE-2024-12905","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://registry.npmjs.org","label":"registry.npmjs.org","hostname":"registry.npmjs.org","tags":["WEB"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/12xxx/CVE-2024-12905.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2024/12xxx/CVE-2024-12905.json","hostname":"github.com","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-12905","label":"nvd.nist.gov/vuln/detail/CVE-2024-12905","hostname":"nvd.nist.gov","tags":["Advisory","Oval"]},{"url":"https://github.com/mafintosh/tar-fs","label":"github.com/mafintosh/tar-fs","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://arxiv.org/abs/2506.04962","label":"arxiv.org/abs/2506.04962","hostname":"arxiv.org","tags":["WEB"]},{"url":"https://arxiv.org/pdf/2506.04962","label":"arxiv.org/pdf/2506.04962","hostname":"arxiv.org","tags":["WEB"]}],"lineage":{"upstream":[],"downstream":["DLA-4214-1","MGASA-2025-0194","USN-8367-1"],"duplicates":[],"related":["CGA-35GC-2RVW-X3VX","CGA-G3WM-3PPV-6G8V","CGA-MHMX-V3J2-76M6","CGA-R9FV-HJFX-7Q5F","CGA-VPJJ-P9G3-27HP","USN-8367-1"]},"timeline":[{"kind":"published","date":"2025-03-27T16:25:34.410Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-11-03T19:29:11.810Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":40,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T11:43:18.342Z","stale":false,"partial":false}}