{"id":"CVE-2026-128034","kind":"vulnerability","aliases":["CVE-2026-128034"],"related":[],"title":"gittuf: file protection rules skip files with special-character names","description":"In gittuf before 0.18.0, verification of file protection rules uses the quoted, escaped pathnames that Git prints by default for files with special characters (for example non-ASCII characters) instead of the raw paths. Such paths do not match patterns like file:internal/*, so the files are treated as unprotected, and a user who is not authorized by a file protection rule can change a protected file whose name contains special characters and still pass verification.","summary":"gittuf, a Git security tool, checks file protection rules against the quoted pathnames Git prints for names with non-ASCII or special characters instead of the real paths. An unauthorized user can change a protected file whose name contains such characters and still pass verification.","severity":"medium","cvss":5.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["git","gittuf","package","supply-chain"],"not_affected_if":["ascii-filenames-only","no-file-protection-rules","no-gittuf"],"how_to_check":"- Check the installed gittuf version with `gittuf version`; versions before `0.18.0` are affected.\n- Review whether your repository uses gittuf file protection rules (file: patterns) and has files with non-ASCII or special characters in their names.","fix":"- gittuf: move to `0.18.0` or later","status":"open","published_at":"2026-11-13T16:18:58+00:00","first_seen_at":"2026-11-13T16:47:33+00:00","triaged_at":"2026-11-13T16:48:56+00:00","updated_at":"2026-11-13T16:48:56+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-13T16:48:56Z","model":"claude-haiku-5-5","output":{"fix":"- gittuf: move to `0.18.0` or later","reach":"local","title":"gittuf: file protection rules skip files with special-character names","impact":"medium","summary":"gittuf, a Git security tool, checks file protection rules against the quoted pathnames Git prints for names with non-ASCII or special characters instead of the real paths. An unauthorized user can change a protected file whose name contains such characters and still pass verification.","audience":"developers","category":"package","nicknames":[],"who_cares":["gittuf","git","supply-chain"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"Unauthorized changes to protected files pass gittuf verification","analyst_note":"","how_to_check":"- Check the installed gittuf version with `gittuf version`; versions before `0.18.0` are affected.\n- Review whether your repository uses gittuf file protection rules (file: patterns) and has files with non-ASCII or special characters in their names.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["no-gittuf","no-file-protection-rules","ascii-filenames-only"],"who_is_affected":"Teams that use gittuf to enforce file protection rules on repositories containing files with non-ASCII or special-character names. Repositories without gittuf, or without file protection rules, are not exposed through this flaw.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000722,"input_tokens":4623,"output_tokens":519,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-128034':14A,17A '-2026':13A,16A '0.18.0':73C 'ascii':44B,98C 'author':127C 'chain':23B 'chang':57B,134C 'charact':10A,47B,65B,93C,99C,142C 'check':29B 'contain':63B,140C 'cve':12A,15A 'default':88C 'escap':82C 'exampl':95C 'file':2A,6A,30B,60B,76C,90C,112C,116C,130C,137C 'git':18B,26B,37B,85C 'gittuf':1A,19B,24B,71C 'instead':48B,100C 'intern':113C 'like':111C 'match':109C 'name':11A,40B,62B,139C 'non':43B,97C 'non-ascii':42B,96C 'packag':20B 'pass':68B,145C 'path':52B,104C,106C 'pathnam':36B,83C 'pattern':110C 'print':38B,86C 'protect':3A,31B,59B,77C,131C,136C 'quot':35B,81C 'raw':103C 'real':51B 'rule':4A,32B,78C,132C 'secur':27B 'skip':5A 'special':9A,46B,92C,141C 'special-charact':8A 'still':67B,144C 'suppli':22B 'supply-chain':21B 'tool':28B 'treat':118C 'unauthor':54B 'unprotect':120C 'use':79C 'user':55B,123C 'verif':69B,74C,146C 'whose':61B,138C","nicknames":[],"mitigations":[],"who_affected":"Teams that use gittuf to enforce file protection rules on repositories containing files with non-ASCII or special-character names. Repositories without gittuf, or without file protection rules, are not exposed through this flaw.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["git","gittuf","medium","package","supplychain"],"campaign_type":null,"search_a":"'-128034':14A,17A '-2026':13A,16A 'charact':10A 'cve':12A,15A 'file':2A,6A 'gittuf':1A 'name':11A 'protect':3A 'rule':4A 'skip':5A 'special':9A 'special-charact':8A","search_b":"'ascii':44B 'chain':23B 'chang':57B 'charact':47B,65B 'check':29B 'contain':63B 'file':30B,60B 'git':18B,26B,37B 'gittuf':19B,24B 'instead':48B 'name':40B,62B 'non':43B 'non-ascii':42B 'packag':20B 'pass':68B 'path':52B 'pathnam':36B 'print':38B 'protect':31B,59B 'quot':35B 'real':51B 'rule':32B 'secur':27B 'special':46B 'still':67B 'suppli':22B 'supply-chain':21B 'tool':28B 'unauthor':54B 'user':55B 'verif':69B 'whose':61B","search_c":"'0.18.0':73C 'ascii':98C 'author':127C 'chang':134C 'charact':93C,99C,142C 'contain':140C 'default':88C 'escap':82C 'exampl':95C 'file':76C,90C,112C,116C,130C,137C 'git':85C 'gittuf':71C 'instead':100C 'intern':113C 'like':111C 'match':109C 'name':139C 'non':97C 'non-ascii':96C 'pass':145C 'path':104C,106C 'pathnam':83C 'pattern':110C 'print':86C 'protect':77C,131C,136C 'quot':81C 'raw':103C 'rule':78C,132C 'special':92C,141C 'still':144C 'treat':118C 'unprotect':120C 'use':79C 'user':123C 'verif':74C,146C 'whose':138C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-12T19:51:57+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","cvss_by":"7fefd608-56a6-419f-a002-fd8543c0710a","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-128034","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-128034","severity":null,"published_at":"2026-11-13T16:18:58+00:00","modified_at":"2026-11-13T16:18:58+00:00","first_seen_at":"2026-11-13T16:47:33+00:00","fetched_at":"2026-11-13T16:47:33+00:00","note":null}],"documents":[{"id":147647,"url":"https://github.com/gittuf/gittuf/releases/tag/v0.18.0","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":147648,"url":"https://github.com/gittuf/gittuf/security/advisories/GHSA-hxqr-h35w-2898","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-11-12T19:51:57+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}