{"id":"CVE-2026-119334","kind":"vulnerability","aliases":["CVE-2026-119334"],"related":[],"title":"Pi-hole: adlist file check lets a crafted path read root-only files","description":"Pi-hole is a DNS sinkhole that protects devices from unwanted content without installing any client-side software. Prior to 6.5, gravity.sh checks file:// adlist readability with sudo -u pihole test -r but then allows curl, sometimes running as root, to normalize URL dot segments and open a different file. A pihole-readable decoy can therefore pass the check while curl reads a root-only target, and /proc/self paths can similarly resolve against different processes. Exploitation requires an administrator who can add adlists and can place a symlink and decoy on the filesystem. This issue is fixed in version 6.5.","summary":"Pi-hole's gravity.sh checks that a file:// adlist is readable by the pihole user, but curl then opens a different file after URL dot-segment normalization, so a symlink and decoy can make it read a root-only file. An attacker who can add adlists and place files on the filesystem can read files they should not see.","severity":"low","cvss":2.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["dns","package","pi-hole","self-hosted"],"not_affected_if":["no-untrusted-adlist-admins","version-6.5-or-later"],"how_to_check":"- Check the installed version with `pihole -v` and confirm it is below `6.5`.\n- Review who can add adlists in the Pi-hole admin interface.","fix":"- Pi-hole: `6.5`","status":"open","published_at":"2026-10-30T20:17:07+00:00","first_seen_at":"2026-10-30T20:25:38+00:00","triaged_at":"2026-10-30T20:26:57+00:00","updated_at":"2026-10-30T20:26:57+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-30T20:26:57Z","model":"claude-haiku-5-5","output":{"fix":"- Pi-hole: `6.5`","reach":"local","title":"Pi-hole: adlist file check lets a crafted path read root-only files","impact":"medium","summary":"Pi-hole's gravity.sh checks that a file:// adlist is readable by the pihole user, but curl then opens a different file after URL dot-segment normalization, so a symlink and decoy can make it read a root-only file. An attacker who can add adlists and place files on the filesystem can read files they should not see.","audience":"businesses","category":"package","nicknames":[],"who_cares":["pi-hole","self-hosted","dns"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"local file read as root, including root-only files","analyst_note":"","how_to_check":"- Check the installed version with `pihole -v` and confirm it is below `6.5`.\n- Review who can add adlists in the Pi-hole admin interface.","plain_action":"","needs_analyst":false,"not_affected_if":["version-6.5-or-later","no-untrusted-adlist-admins"],"who_is_affected":"Pi-hole installations before 6.5 where administrators can add adlists. Exploitation also requires the ability to place a symlink and decoy file on the filesystem, so a locked-down single-admin setup is much less exposed. Installations already on 6.5 or later are not affected.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"low"},"cost_usd":0.000676,"input_tokens":4224,"output_tokens":508,"severity_before":"low"},"analyst_status":null,"analyst_note":null,"search":"'-119334':18A,21A '-2026':17A,20A '/proc/self':161C '6.5':113C,193C 'add':76B,175C 'adlist':4A,38B,77B,116C,176C 'administr':172C 'allow':126C 'attack':73B 'check':6A,35B,115C,151C 'client':108C 'client-sid':107C 'content':103C 'craft':9A 'curl':46B,127C,153C 'cve':16A,19A 'decoy':62B,146C,183C 'devic':100C 'differ':50B,140C,167C 'dns':22B,96C 'dot':55B,135C 'dot-seg':54B 'exploit':169C 'file':5A,15A,51B,71B,80B,86B,141C 'filesystem':83B,186C 'fix':190C 'gravity.sh':34B,114C 'hole':3A,26B,32B,93C 'host':29B 'instal':105C 'issu':188C 'let':7A 'make':64B 'normal':57B,133C 'open':48B,138C 'packag':23B 'pass':149C 'path':10A,162C 'pi':2A,25B,31B,92C 'pi-hol':1A,24B,30B,91C 'pihol':43B,121C,144C 'pihole-read':143C 'place':79B,179C 'prior':111C 'process':168C 'protect':99C 'r':123C 'read':11A,66B,85B,154C 'readabl':40B,117C,145C 'requir':170C 'resolv':165C 'root':13A,69B,131C,157C 'root-on':12A,68B,156C 'run':129C 'see':90B 'segment':56B,136C 'self':28B 'self-host':27B 'side':109C 'similar':164C 'sinkhol':97C 'softwar':110C 'sometim':128C 'sudo':119C 'symlink':60B,181C 'target':159C 'test':122C 'therefor':148C 'u':120C 'unwant':102C 'url':53B,134C 'user':44B 'version':192C 'without':104C","nicknames":[],"mitigations":[],"who_affected":"Pi-hole installations before 6.5 where administrators can add adlists. Exploitation also requires the ability to place a symlink and decoy file on the filesystem, so a locked-down single-admin setup is much less exposed. Installations already on 6.5 or later are not affected.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"first_public_at":"2026-10-30T20:17:07+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-119334","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119334","severity":null,"published_at":"2026-10-30T20:17:07+00:00","modified_at":"2026-10-30T20:17:07+00:00","first_seen_at":"2026-10-30T20:25:38+00:00","fetched_at":"2026-10-30T20:25:38+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"}