{"id":"CVE-2026-100419","state":"PUBLISHED","title":"gitoxide gix-fs before 0.23.0 Worktree Escape via Symlink","description":"gitoxide gix-fs before 0.23.0 contains a path validation bypass vulnerability in the worktree checkout mechanism that allows attackers to escape the worktree directory via symlink manipulation. During forced checkout with overwrite_existing enabled, attackers can craft malicious repository trees where symlink entries replace validated directories, causing subsequent files to be written outside the worktree through the symlink for code execution or file manipulation.","publishedAt":"2026-09-25T22:04:00.750Z","updatedAt":"2026-09-28T13:06:21.364Z","severity":{"score":7.3,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","source":"VulnCheck"},"assigner":"VulnCheck","products":["GitoxideLabs gitoxide"],"affected":[{"vendor":"GitoxideLabs","product":"gitoxide","packageURL":"pkg:cargo/gix-fs","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.23.0","versionType":"semver"},{"version":"0.23.0","status":"unaffected","versionType":"semver"}]}],"references":["https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-6p9q-f2xg-6pr5","https://github.com/GitoxideLabs/gitoxide/commit/b62498378b8bc2c95863a044b700f2063b0b5875","https://github.com/GitoxideLabs/gitoxide/blob/gix-fs-v0.22.1/gix-fs/src/stack.rs#L185-L196","https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-f89h-2fjh-2r9q","https://github.com/GitoxideLabs/gitoxide","https://www.vulncheck.com/advisories/gitoxide-gix-fs-before-0.23.0-worktree-escape-via-symlink"],"weaknesses":["CWE-59"],"ingestedAt":"2026-10-29T20:10:13.529Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/100xxx/CVE-2026-100419.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-100419","state":"PUBLISHED","datePublished":"2026-09-25T22:04:00.750Z","dateUpdated":"2026-09-28T13:06:21.364Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-09-25T20:30:44.419Z"},"containers":{"cna":{"title":"gitoxide gix-fs before 0.23.0 Worktree Escape via Symlink","descriptions":[{"lang":"en","value":"gitoxide gix-fs before 0.23.0 contains a path validation bypass vulnerability in the worktree checkout mechanism that allows attackers to escape the worktree directory via symlink manipulation. During forced checkout with overwrite_existing enabled, attackers can craft malicious repository trees where symlink entries replace validated directories, causing subsequent files to be written outside the worktree through the symlink for code execution or file manipulation."}],"affected":[{"vendor":"GitoxideLabs","product":"gitoxide","packageURL":"pkg:cargo/gix-fs","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.23.0","versionType":"semver"},{"version":"0.23.0","status":"unaffected","versionType":"semver"}]}],"references":[{"url":"https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-6p9q-f2xg-6pr5","tags":["vendor-advisory"],"name":"GitHub Security Advisory (GHSA-6p9q-f2xg-6pr5)"},{"url":"https://github.com/GitoxideLabs/gitoxide/commit/b62498378b8bc2c95863a044b700f2063b0b5875","tags":["patch"],"name":"Patch Commit"},{"url":"https://github.com/GitoxideLabs/gitoxide/blob/gix-fs-v0.22.1/gix-fs/src/stack.rs#L185-L196","tags":["technical-description"],"name":"gix-fs 0.22.1 stack.rs pop loop and disarmed guard"},{"url":"https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-f89h-2fjh-2r9q","tags":["related","vendor-advisory"],"name":"GitHub Security Advisory (GHSA-f89h-2fjh-2r9q)"},{"url":"https://github.com/GitoxideLabs/gitoxide","tags":["product"]},{"url":"https://www.vulncheck.com/advisories/gitoxide-gix-fs-before-0.23.0-worktree-escape-via-symlink","name":"VulnCheck Advisory: gitoxide gix-fs before 0.23.0 Worktree Escape via Symlink","tags":["third-party-advisory"]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","attackVector":"LOCAL","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"PASSIVE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":7.3,"baseSeverity":"HIGH"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","attackVector":"LOCAL","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":7,"baseSeverity":"HIGH"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-59","lang":"en","description":"Improper Link Resolution Before File Access ('Link Following')","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-09-25T22:04:00.750Z"},"datePublic":"2026-09-25T00:00:00.000Z","cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:gitoxidelabs:gitoxide:*:*:*:*:*:*:*:*","versionEndExcluding":"0.23.0"}]}]}],"credits":[{"lang":"en","value":"euriconicacio","type":"finder"}],"x_generator":{"engine":"vulncheck-endgame"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-f89h-2fjh-2r9q","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-28T13:05:49.724852Z","id":"CVE-2026-100419","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-28T13:06:21.364Z"}}]}}}