{"id":"CVE-2026-119335","state":"PUBLISHED","title":"Pi-hole: Local privilege escalation from `pihole` user to root via CVE-2026-41489  fix bypass","description":"Pi-hole is a DNS sinkhole that protects devices from unwanted content without installing any client-side software. Prior to 6.5, advanced/Scripts/utils.sh getFTLPID() attempts to validate the pihole-owned /run/pihole-FTL.pid file with expr \"${FTL_PID}\" : \"[^[:digit:]]\", but this rejects only values whose first character is not a digit. An attacker with code execution as the pihole user can write a digit-prefixed arithmetic expression to the pihole-owned PID file. Root-run pihole subcommands then evaluate [[ \"$pid\" -eq \"-1\" ]], causing Bash to recursively evaluate array subscripts and execute command substitution as root. This bypasses the content-validation portion of the CVE-2026-41489 remediation while leaving its hardcoded PID-file path protection intact. This issue is fixed in version 6.5.","publishedAt":"2026-10-30T20:03:32.975Z","updatedAt":"2026-10-30T20:03:32.975Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["pi-hole pi-hole"],"affected":[{"vendor":"pi-hole","product":"pi-hole","versions":[{"version":"< 6.5","status":"affected"}]}],"references":["https://github.com/pi-hole/pi-hole/security/advisories/GHSA-cf36-4hhc-8398","https://github.com/pi-hole/pi-hole/pull/6719","https://github.com/pi-hole/pi-hole/commit/555dd4d8b3699327fbba482bb73cce5f53979bd1","https://github.com/pi-hole/pi-hole/releases/tag/v6.5"],"weaknesses":["CWE-78"],"ingestedAt":"2026-10-30T20:14:06.645Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/119xxx/CVE-2026-119335.json","commit":"d7f5c3fe206091a44e450f13bfe51dc81b8a7843","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-119335","state":"PUBLISHED","datePublished":"2026-10-30T20:03:32.975Z","dateUpdated":"2026-10-30T20:03:32.975Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-10-29T20:44:30.285Z"},"containers":{"cna":{"title":"Pi-hole: Local privilege escalation from `pihole` user to root via CVE-2026-41489  fix bypass","descriptions":[{"lang":"en","value":"Pi-hole is a DNS sinkhole that protects devices from unwanted content without installing any client-side software. Prior to 6.5, advanced/Scripts/utils.sh getFTLPID() attempts to validate the pihole-owned /run/pihole-FTL.pid file with expr \"${FTL_PID}\" : \"[^[:digit:]]\", but this rejects only values whose first character is not a digit. An attacker with code execution as the pihole user can write a digit-prefixed arithmetic expression to the pihole-owned PID file. Root-run pihole subcommands then evaluate [[ \"$pid\" -eq \"-1\" ]], causing Bash to recursively evaluate array subscripts and execute command substitution as root. This bypasses the content-validation portion of the CVE-2026-41489 remediation while leaving its hardcoded PID-file path protection intact. This issue is fixed in version 6.5."}],"affected":[{"vendor":"pi-hole","product":"pi-hole","versions":[{"version":"< 6.5","status":"affected"}]}],"references":[{"url":"https://github.com/pi-hole/pi-hole/security/advisories/GHSA-cf36-4hhc-8398","name":"https://github.com/pi-hole/pi-hole/security/advisories/GHSA-cf36-4hhc-8398","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/pi-hole/pi-hole/pull/6719","name":"https://github.com/pi-hole/pi-hole/pull/6719","tags":["x_refsource_MISC"]},{"url":"https://github.com/pi-hole/pi-hole/commit/555dd4d8b3699327fbba482bb73cce5f53979bd1","name":"https://github.com/pi-hole/pi-hole/commit/555dd4d8b3699327fbba482bb73cce5f53979bd1","tags":["x_refsource_MISC"]},{"url":"https://github.com/pi-hole/pi-hole/releases/tag/v6.5","name":"https://github.com/pi-hole/pi-hole/releases/tag/v6.5","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"LOCAL","availabilityImpact":"HIGH","baseScore":7.8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-78","lang":"en","description":"CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-30T20:03:32.975Z"},"source":{"advisory":"GHSA-cf36-4hhc-8398","discovery":"UNKNOWN"}}}}}