{"id":"CVE-2026-121550","kind":"vulnerability","aliases":["CVE-2026-121550"],"related":[],"title":"nnn: predictable FIFO path lets local users redirect file writes","description":"nnn through 5.3 contains an insecure file handling vulnerability that allows local attackers to redirect writes because main() accepts an existing NNN_FIFO path without verifying it is a FIFO. Attackers can pre-create the documented predictable /tmp/nnn.fifo path as a symlink or readable regular file, causing victim-writable files to be overwritten or leaking the victim's browsed paths.","summary":"nnn, a terminal file manager, accepts an existing NNN_FIFO path without checking it is a FIFO. A local attacker who pre-creates the predictable /tmp/nnn.fifo as a symlink can overwrite files the victim can write or learn which paths the victim browses.","severity":"low","cvss":3.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["linux","nnn","package","shared-systems"],"not_affected_if":["nnn-newer-than-5.3","single-user-machine"],"how_to_check":"- Run `nnn -V` or `nnn --version` and compare against the versions in the sources\n- Check whether the installed nnn is 5.3 or earlier","fix":"- Patch linked from the NVD record (github.com); the fixed version is unknown from the sources","status":"open","published_at":"2026-11-03T16:17:26+00:00","first_seen_at":"2026-11-03T16:21:44+00:00","triaged_at":"2026-11-03T16:24:25+00:00","updated_at":"2026-11-03T16:24:25+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-03T16:24:25Z","model":"claude-haiku-5-5","output":{"fix":"- Patch linked from the NVD record (github.com); the fixed version is unknown from the sources","reach":"local","title":"nnn: predictable FIFO path lets local users redirect file writes","impact":"low","summary":"nnn, a terminal file manager, accepts an existing NNN_FIFO path without checking it is a FIFO. A local attacker who pre-creates the predictable /tmp/nnn.fifo as a symlink can overwrite files the victim can write or learn which paths the victim browses.","audience":"developers","category":"package","nicknames":[],"who_cares":["nnn","linux","shared-systems"],"confidence":0.6,"fix_status":"available","needs_auth":"yes","worst_case":"local user overwrites victim-writable files or reads browsed paths","analyst_note":"","how_to_check":"- Run `nnn -V` or `nnn --version` and compare against the versions in the sources\n- Check whether the installed nnn is 5.3 or earlier\n- unknown","plain_action":"","needs_analyst":false,"not_affected_if":["single-user-machine","nnn-newer-than-5.3"],"who_is_affected":"Only machines where a local user can write to /tmp and where nnn runs with the predictable FIFO path in use. The sources describe a local attacker on a shared system, not a remote one. Single-user machines are unlikely to be exposed.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"low"},"cost_usd":0.000674,"input_tokens":4192,"output_tokens":510,"severity_before":"low"},"analyst_status":null,"analyst_note":null,"search":"'-121550':13A,16A '-2026':12A,15A '/tmp/nnn.fifo':49B,105C '5.3':69C 'accept':28B,85C 'allow':77C 'attack':42B,79C,97C 'brows':66B,127C 'caus':114C 'check':35B 'contain':70C 'creat':46B,101C 'cve':11A,14A 'document':103C 'exist':30B,87C 'fifo':3A,32B,39B,89C,96C 'file':9A,26B,55B,73C,113C,118C 'handl':74C 'insecur':72C 'leak':123C 'learn':61B 'let':5A 'linux':17B 'local':6A,41B,78C 'main':84C 'manag':27B 'nnn':1A,18B,23B,31B,67C,88C 'overwrit':54B 'overwritten':121C 'packag':19B 'path':4A,33B,63B,90C,106C,128C 'pre':45B,100C 'pre-creat':44B,99C 'predict':2A,48B,104C 'readabl':111C 'redirect':8A,81C 'regular':112C 'share':21B 'shared-system':20B 'symlink':52B,109C 'system':22B 'termin':25B 'user':7A 'verifi':92C 'victim':57B,65B,116C,125C 'victim-writ':115C 'vulner':75C 'without':34B,91C 'writabl':117C 'write':10A,59B,82C","nicknames":[],"mitigations":[],"who_affected":"Only machines where a local user can write to /tmp and where nnn runs with the predictable FIFO path in use. The sources describe a local attacker on a shared system, not a remote one. Single-user machines are unlikely to be exposed.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["linux","low","nnn","package","sharedsystems"],"campaign_type":null,"first_public_at":"2026-11-03T16:17:26+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:L/VI:L/VA:N/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-121550","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121550","severity":null,"published_at":"2026-11-03T16:17:26+00:00","modified_at":"2026-11-03T16:17:26+00:00","first_seen_at":"2026-11-03T16:21:44+00:00","fetched_at":"2026-11-03T16:21:44+00:00","note":null}],"documents":[{"id":58832,"url":"https://github.com/jarun/nnn/commit/04715921aece0257fef7a8558c0783493d98efff","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":58837,"url":"https://www.vulncheck.com/advisories/nnn-through-5.3-symlink-following-write-via-nnn-fifo-handling","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}