{"id":"CVE-2026-114094","kind":"vulnerability","aliases":["CVE-2026-114094"],"related":[],"title":"Dulwich: Windows drive-letter tree entries let a repo write files outside worktree","description":"Dulwich before 1.2.9 fails to validate DOS drive letter prefixes in Git tree path elements on Windows, allowing arbitrary file write. Attackers can craft a malicious repository with a tree entry named 'C:' that bypasses NTFS validation and writes files outside the worktree to achieve remote code execution.","summary":"Dulwich, a pure-Python Git library, does not reject Git tree entries named like DOS drive letters (such as 'C:') on Windows. A malicious repository can therefore write files outside the checkout and achieve remote code execution.","severity":"high","cvss":8.8,"epss":0.0067,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["dulwich","package","python","windows"],"not_affected_if":["dulwich-at-1.2.9-or-later","non-windows-hosts","only-trusted-repositories"],"how_to_check":"Run pip show dulwich on Windows machines or CI runners that check out untrusted repositories and compare the version to 1.2.9.","fix":"Upgrade dulwich to 1.2.9 or later.","status":"open","published_at":"2026-10-21T01:17:34+00:00","first_seen_at":"2026-10-23T21:57:28+00:00","triaged_at":"2026-10-23T22:33:28+00:00","updated_at":"2026-10-24T13:15:54+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-23T22:33:28Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade dulwich to 1.2.9 or later.","reach":"unknown","title":"Dulwich: Windows drive-letter tree entries let a repo write files outside worktree","impact":"high","summary":"Dulwich, a pure-Python Git library, does not reject Git tree entries named like DOS drive letters (such as 'C:') on Windows. A malicious repository can therefore write files outside the checkout and achieve remote code execution.","category":"package","who_cares":["python","windows","dulwich"],"confidence":0.6,"needs_auth":"no","worst_case":"attacker writes files outside worktree, leading to code execution","analyst_note":"Confirm the exact affected version range and whether a checkout of a malicious repo is enough to trigger the write, using the NVD entry linked in the sources.","how_to_check":"Run pip show dulwich on Windows machines or CI runners that check out untrusted repositories and compare the version to 1.2.9.","needs_analyst":true,"not_affected_if":["non-windows-hosts","dulwich-at-1.2.9-or-later","only-trusted-repositories"],"user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000505,"input_tokens":2938,"output_tokens":422,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-114094':17A,20A '-2026':16A,19A '1.2.9':65C 'achiev':59B,107C 'allow':80C 'arbitrari':81C 'attack':84C 'bypass':97C 'c':45B,95C 'checkout':57B 'code':61B,109C 'craft':86C 'cve':15A,18A 'dos':40B,69C 'drive':4A,41B,70C 'drive-lett':3A 'dulwich':1A,21B,25B,63C 'element':77C 'entri':7A,37B,93C 'execut':62B,110C 'fail':66C 'file':12A,54B,82C,102C 'git':30B,35B,74C 'let':8A 'letter':5A,42B,71C 'librari':31B 'like':39B 'malici':49B,88C 'name':38B,94C 'ntfs':98C 'outsid':13A,55B,103C 'packag':22B 'path':76C 'prefix':72C 'pure':28B 'pure-python':27B 'python':23B,29B 'reject':34B 'remot':60B,108C 'repo':10A 'repositori':50B,89C 'therefor':52B 'tree':6A,36B,75C,92C 'valid':68C,99C 'window':2A,24B,47B,79C 'worktre':14A,105C 'write':11A,53B,83C,101C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-21T01:17:34+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/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","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-114094","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114094","severity":null,"published_at":"2026-10-21T01:17:34+00:00","modified_at":"2026-10-21T01:17:34+00:00","first_seen_at":"2026-10-23T21:57:28+00:00","fetched_at":"2026-10-23T22:29:01+00:00","note":null},{"source":"epss","external_id":"CVE-2026-114094","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114094","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T13:15:54+00:00","fetched_at":"2026-10-24T13:15:54+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}