Skip to main content

Pi-hole CVE-2026-50130

| EUVDEUVD-2026-44529 HIGH
Improper Ownership Management (CWE-282)
2026-07-14 security-advisories@github.com
8.8
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain code execution as pihole user
  2. Delivery
    Overwrite /etc/pihole/logrotate with firstaction payload
  3. Exploit
    prestart chowns file to root:root
  4. Execution
    Root cron runs logrotate on config
  5. Persist
    firstaction shell executes as uid 0
  6. Impact
    Full root compromise

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Ownership management
Exploitation Conditions

Requires the attacker to already have code execution as the unprivileged pihole service account on the host (PR:L, AV:L) and the ability to write /etc/pihole/logrotate. Exploitation specifically depends on the vulnerable file location and Pi-hole's own automation: pihole-FTL-prestart.sh must run and chown the replaced file to root:root, and the daily pihole flush cron (or @reboot logrotate) must then parse it as root - so the attacker must wait for one of those root-triggered events. Limiting factors: it only affects Pi-hole 6.0.0-6.4.2 (fixed in 6.4.3), needs a pre-existing foothold as the pihole user (no remote or unauthenticated path), is not automatable per SSVC, and the payload runs only when the scheduled root job fires rather than on demand.

Impact

This is a genuine and clean privilege-escalation primitive but with a deliberately narrow starting point. The CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:C, 8.8) correctly reflects that an attacker must already hold local, low-privileged (pihole user) code execution, which is a meaningful precondition rather than a network-facing entry point. SSVC agrees: exploitation=poc (not active), automatable=no (needs an existing foothold and waits on a cron/reboot trigger), technical impact=total (full root). EPSS is low at 0.22% / 13th percentile, and there is no CISA KEV listing, so mass or opportunistic exploitation is unlikely - this is a reliable second-stage escalation, not a remote 0-day. The signals are internally consistent: high impact, high reliability, but gated behind a prerequisite compromise, so real-world priority is high specifically for hosts where the pihole account could be reached (e.g. via a separate web/FTL RCE) and lower where that foothold is implausible. The RCE tag refers to the root code execution achieved via the config parse, not to unauthenticated remote access.

Exploit ScenarioDerived

An attacker who has gained code execution as the pihole user - for example through a separate flaw in the web interface or FTL - writes a malicious /etc/pihole/logrotate that includes a firstaction block containing a shell payload (such as adding a root SSH key or a setuid backdoor). They then wait for the next daily flush cron or a system reboot, at which point pihole-FTL-prestart.sh chowns the file to root and logrotate executes the firstaction as uid 0, granting full root. A proof-of-concept is indicated by the SSVC 'poc' status.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 22, 2026

Local privilege escalation in Pi-hole 6.0.0 through 6.4.2 lets an attacker who already has code execution as the unprivileged pihole user become root by overwriting the /etc/pihole/logrotate configuration file. Because pihole-FTL-prestart.sh chowns that file to root:root and the daily flush cron then parses it as root via logrotate, a malicious firstaction shell directive runs as uid 0. This is a CWE-282 improper ownership issue with total technical impact; SSVC lists exploitation as proof-of-concept and it is fixed in 6.4.3, with no CISA KEV listing and a low EPSS of 0.22%.

RemediationAI

Vendor-released patch: upgrade Pi-hole to 6.4.3 or later, which moves the logrotate configuration to the root-owned /etc/logrotate.d/pihole and removes the vulnerable chown root:root /etc/pihole/logrotate from pihole-FTL-prestart.sh (see the release at https://github.com/pi-hole/pi-hole/releases/tag/v6.4.3 and advisory https://github.com/pi-hole/pi-hole/security/advisories/GHSA-h8w9-qx2v-wrww). If you cannot upgrade immediately, the concrete compensating controls are: remove or lock down /etc/pihole/logrotate so the pihole user cannot write it (e.g. set the file immutable with chattr +i and root ownership), which prevents the swap but will break Pi-hole's own logrotate updates on the next install/update; and temporarily disable the daily flush/@reboot logrotate cron entry in the pihole cron file so the attacker-controlled config is never parsed as root, at the cost of unrotated, growing Pi-hole logs. Both are stopgaps - patching to 6.4.3 is the durable fix. Since exploitation requires an existing pihole-user foothold, also investigate and close whatever gave that foothold.

Affected VersionsENISA

pi-hole 6.0.0, < 6.4.3

Affected Packages

euvd pi_hole_6_0_0 fix: 6.4.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw lives in Pi-hole's log-management plumbing. logrotate is a standard Linux utility that rotates and compresses log files; its config files support pre/post action hooks (firstaction/lastaction/prerotate/postrotate) whose contents are executed as shell by whatever user invokes logrotate. Pi-hole historically stored its logrotate config at /etc/pihole/logrotate - a directory writable in practice by the pihole service account - rather than the root-owned /etc/logrotate.d/. The root cause (CWE-282, Improper Ownership Management) is that pihole-FTL-prestart.sh explicitly ran chown root:root /etc/pihole/logrotate, laundering an attacker-controlled file into root ownership, after which the @reboot and daily cron entries (which run as root per pihole.cron) invoked logrotate --force /etc/pihole/logrotate, executing any embedded firstaction shell as root. The fix commit (18002bf) relocates the config to root-controlled /etc/logrotate.d/pihole across piholeDebug.sh, piholeLogFlush.sh, pihole.cron, and basic-install.sh, and removes the dangerous chown from the prestart script entirely.

Know when Pi Hole gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Attacker needs local low-priv pihole-user code execution (AV:L/PR:L); reliable escalation crosses a privilege boundary to root (S:C) yielding full C/I/A impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Jul 14, 2026 - 23:20 EUVD
CVE Published
Jul 14, 2026 - 22:17 cve.org
HIGH 8.8

DescriptionCVE.org

Pi-hole is a DNS sinkhole that protects devices from unwanted content without installing any client-side software. From 6.0 to 6.4.2, a user with code execution as the unprivileged pihole user can escalate to root by replacing /etc/pihole/logrotate. The replacement is laundered to root:root ownership by pihole-FTL-prestart.sh and then parsed as root by the daily pihole flush cron, executing firstaction shell as uid 0. This issue is fixed in version 6.4.3.

Executive ViewAI

Why It Matters

Pi-hole DNS filtering servers running versions 6.0.0 through 6.4.2 are vulnerable to local privilege escalation (CVE-2026-50130) that allows attackers with system access to gain root control, compromising DNS security and organization-wide network visibility.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Medium
widely-used self-hosted/homelab DNS sinkhole, limited enterprise footprint
Social Media
2
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-34087 HIGH POC
8.8 Jul 03

Pi-hole versions up to 3.3 contain an authenticated command injection via the domain allowlist functionality. When addin

CVE-2020-11108 HIGH POC
8.8 May 11

The Gravity updater in Pi-hole through 4.4 allows an authenticated adversary to upload arbitrary files. Rated high sever

CVE-2021-29449 MEDIUM POC
6.3 Apr 14

Pi-hole is a Linux network-level advertisement and Internet tracker blocking application. Rated medium severity (CVSS 6.

CVE-2020-8816 HIGH POC
7.2 May 29

Pi-hole Web v4.3.2 (aka AdminLTE) allows Remote Code Execution by privileged dashboard users via a crafted DHCP static l

CVE-2024-34361 HIGH POC
8.8 Jul 05

Pi-hole is a DNS sinkhole that protects devices from unwanted content without installing any client-side software. Rated

CVE-2023-23614 HIGH POC
8.8 Jan 26

Pi-hole®'s Web interface (based off of AdminLTE) provides a central location to manage your Pi-hole. Rated high severity

CVE-2021-32706 HIGH POC
8.8 Aug 04

Pi-hole's Web interface provides a central location to manage a Pi-hole instance and review performance statistics. Rate

CVE-2021-29448 HIGH POC
8.8 Apr 15

Pi-hole is a Linux network-level advertisement and Internet tracker blocking application. Rated high severity (CVSS 8.8)

CVE-2025-59151 HIGH POC
8.2 Oct 27

HTTP response splitting in Pi-hole Admin Interface before 6.3 lets unauthenticated remote attackers inject CRLF sequence

CVE-2020-14162 HIGH POC
7.8 Jul 30

An issue was discovered in Pi-Hole through 5.0. Rated high severity (CVSS 7.8), this vulnerability is low attack complex

CVE-2020-12620 HIGH POC
7.8 Jul 30

Pi-hole 4.4 allows a user able to write to /etc/pihole/dns-servers.conf to escalate privileges through command injection

CVE-2024-44069 HIGH POC
7.5 Aug 19

Pi-hole before 6 allows unauthenticated admin/api.php?setTempUnit= calls to change the temperature units of the web dash

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy