{"schema":"threatline.record/2","record":{"id":"CVE-2026-114096","aliases":["GHSA-8w8g-wq8h-fq33"],"summary":"Dulwich 0.24.0 before 1.2.8 Symlink Write-Through via porcelain.checkout paths","details":"Dulwich from 0.24.0 before 1.2.8 contains a symlink following vulnerability in porcelain.checkout(paths=[...]) that allows attackers to write arbitrary files by abusing raw os.open without O_NOFOLLOW. Attackers can craft a repository where a worktree symlink points to .git/hooks/post-checkout, so restoring the file from a tag writes a malicious hook for code execution.","categories":["Libraries & packages"],"product":"dulwich","vendor":"jelmer","ecosystem":"PyPI","affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-114096","source_modified_at":"2026-10-21T00:36:59.763Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"dulwich","vendor":"jelmer","versions":[{"version":"0.24.0","status":"affected","versionType":"semver","lessThan":"1.2.8"},{"version":"1.2.8","status":"unaffected","versionType":"semver"}],"defaultStatus":"unaffected"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-8w8g-wq8h-fq33","source_modified_at":"2026-10-21T10:57:28.880982828Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"PyPI","name":"dulwich","purl":"pkg:pypi/dulwich"},"ranges":[{"events":[{"introduced":"0.24.0"},{"fixed":"1.2.8"}],"type":"ECOSYSTEM"}],"versions":["0.24.0","0.24.1","0.24.10","0.24.2","0.24.3","0.24.4","0.24.5","0.24.6","0.24.7","0.24.8","0.24.9","0.25.0","0.25.1","0.25.2","1.0.0","1.1.0","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7"]}],"fixed_versions":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-114096","source_modified_at":"2026-10-21T00:36:59.763Z","fetched_at":"2026-10-23T18:45:31.882637Z","package":{"name":"dulwich","ecosystem":null},"version":"1.2.8","basis":"first unaffected version stated in the CVE record"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-8w8g-wq8h-fq33","source_modified_at":"2026-10-21T10:57:28.880982828Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"PyPI","name":"dulwich","purl":"pkg:pypi/dulwich"},"version":"1.2.8"}],"cvss":7.3,"severity":"High","kev":{"listed":false},"epss":{"probability":0.00155,"percentile":0.04261,"score_date":"2026-10-23"},"published_at":"2026-10-21T00:36:59.763Z","modified_at":"2026-10-21T10:57:28.880982828Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-114096","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-10-21T00:36:59.763Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-8w8g-wq8h-fq33","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-21T10:57:28.880982828Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114096","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","OSV","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/jelmer/dulwich/security/advisories/GHSA-8w8g-wq8h-fq33","tags":["vendor-advisory"]},{"source":"CVE List","url":"https://www.vulncheck.com/advisories/dulwich-0.24.0-before-1.2.8-symlink-write-through-via-porcelain-checkout-paths","tags":["third-party-advisory"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-21T10:57:28.880982828Z","content_hash":"75b31efd932eda5ea0eacfd027eae95163cbec16089626bc4063adbf978bc704"}}
