Cyber Resilience

CVE-2024-28247

Info Disclosure in Pi-Hole ≤ 5.18

Public PoCInfo Disclosure
Published
27 March 2024
Modified
17 June 2026
Patch / advisory
CVSS Score v3.1 7.6
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
EPSS Score 0.014 70th percentile
Risk Priority 64 floored blend · peak EPSS

Summary

CVE-2024-28247 is a high-severity Exposure of Sensitive Information to an Unauthorized Actor (CWE-200) vulnerability in Pi-Hole Pi-Hole. Its CVSS base score is 7.6 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Abuse Elevation Control Mechanism (T1548); ranked in the top 30% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-2 (Account Management) and AC-24 (Access Control Decisions) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

Pi-hole, the open-source DNS sinkhole used for network-wide ad blocking, contains an arbitrary file-read flaw in its adlist update handling. When an authenticated user supplies an adlist URL beginning with "file://", the update routine treats the target as a local file and echoes up to five non-domain lines from that file back to the administrative interface. Because the Pi-hole services run with elevated privileges, this exposure occurs with the permissions of the privileged process rather than the authenticated user's own rights.

An attacker who already possesses a valid Pi-hole administrative account can therefore add a crafted local-file adlist pointing to any readable path on the server (for example /etc/shadow, configuration files, or other sensitive data). The resulting output discloses the selected file contents, satisfying the confidentiality component of the reported CVSS 7.6 vector while also permitting limited integrity and availability impact through subsequent misuse of the obtained information.

The project addressed the issue in release 5.18; the fix is documented in GitHub security advisory GHSA-95g6-7q26-mp9x and the corresponding commit that prevents printing of non-domain lines during local-file updates. The associated EPSS score has remained flat at 0.0714 with no material post-disclosure increase.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

The Pi-hole is a DNS sinkhole that protects your devices from unwanted content without installing any client-side software. A vulnerability has been discovered in Pihole that allows an authenticated user on the platform to read internal server files arbitrarily, and…

more

because the application runs from behind, reading files is done as a privileged user.If the URL that is in the list of "Adslists" begins with "file*" it is understood that it is updating from a local file, on the other hand if it does not begin with "file*" depending on the state of the response it does one thing or another. The problem resides in the update through local files. When updating from a file which contains non-domain lines, 5 of the non-domain lines are printed on the screen, so if you provide it with any file on the server which contains non-domain lines it will print them on the screen. This vulnerability is fixed by 5.18.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1548 Abuse Elevation Control Mechanism Privilege Escalation
Adversaries may circumvent mechanisms designed to control privilege elevation to gain higher-level permissions.
T1134 Access Token Manipulation Stealth
Adversaries may modify access tokens to operate under a different user or system security context to perform actions and bypass access controls.
T1134.001 Token Impersonation/Theft Stealth
Adversaries may duplicate then impersonate another user's existing token to escalate privileges and bypass access controls.
T1548.001 Setuid and Setgid Privilege Escalation
An adversary may abuse configurations where an application has the setuid or setgid bits set in order to get code running in a different (and possibly more privileged) user’s context.
T1548.003 Sudo and Sudo Caching Privilege Escalation
Adversaries may perform sudo caching and/or use the sudoers file to elevate privileges.
T1552 Unsecured Credentials Credential Access
Adversaries may search compromised systems to find and obtain insecurely stored credentials.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-33727Same product: Pi-Hole Pi-Hole
CVE-2023-23629Shared CWE-200, CWE-269
CVE-2026-28976Shared CWE-200, CWE-269
CVE-2026-48210Shared CWE-200, CWE-269
CVE-2026-44231Shared CWE-200, CWE-269
CVE-2026-60886Shared CWE-200, CWE-269
CVE-2024-8852Shared CWE-200
CVE-2024-3780Shared CWE-200
CVE-2023-20866Shared CWE-200
CVE-2026-25185Shared CWE-200

Affected Assets

pi-hole
pi-hole
≤ 5.18

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 12 hardening rules · 7 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V10.4.9
  • V11.7.1
  • V14.1.2
  • V14.2.4

Mitigating Controls (NIST 800-53 r5) AI

Access enforcement directly stops unauthorized actors from obtaining sensitive information.

Information flow enforcement structurally prevents sensitive data from reaching unauthorized recipients.

Protection of information at rest prevents unauthorized exposure of stored sensitive data.

Transmission confidentiality mechanisms stop exposure of sensitive data on the wire.

Account management directly governs assignment and tracking of privileges so proper implementation stops the weakness from being introduced.

Requiring explicit access-control decisions ensures privileges are evaluated rather than assumed or omitted.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 mostly match
prevents

PR.AA-05 directly enforces least-privilege authorization that blocks most unauthorized disclosures, yet CWE-200 also arises from logging, error messages, and side-channel paths that access controls alone do not address.

PR.DS-10 mostly match
prevents

PR.DS-10 mostly prevents CWE-200 by directly eliminating unauthorized access to sensitive data-in-use, yet only partially addresses the weakness because CWE-200 spans many other exposure vectors outside runtime protection.

PR.IR-01 mostly match
prevents

PR.IR-01's segmentation/zero-trust controls largely eliminate network-level unauthorized access paths that enable exposure, yet CWE-200 spans many additional vectors (API responses, logs, app logic) that network controls alone cannot close.

PR.PS-06 mostly match
prevents

Secure SDLC practices catch most exposure flaws via design, testing and release controls, yet CWE-200 spans runtime/config issues a single development outcome cannot fully close.

PR.AA-01 partial match
prevents

PR.AA-01 supplies proper credential lifecycle controls that reduce unauthorized access paths, yet leaves many other exposure vectors (error messages, logging, side channels, etc.) unaddressed.

PR.AA-03 partial match
prevents

Authentication verifies actor identity and is a prerequisite for access decisions, yet addresses only one facet of the broad set of exposure vectors in CWE-200.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Restricting anonymous or unknown access and encrypting high-value information limits the exposure of sensitive data that would otherwise be obtainable by unauthorized actors.

prevents

Suppressing system details, error specifics, and previous log-on information until successful authentication reduces the information an unauthenticated attacker can gather.

prevents

By requiring owners to assign sensitivity labels and corresponding handling rules, the control ensures that information is not left unmarked and therefore reduces the chance that sensitive data will be exposed to unauthorized actors.

prevents

Requiring encryption, access controls, and recipient authentication for transfers directly reduces the chance that sensitive data reaches an unauthorized observer.

prevents

Secure delivery, protected storage, and confidentiality of allocation records limit exposure of authentication material to unauthorized observers.

prevents

Requiring owner approval, segregation of duties, and periodic reviews prevents the assignment of excessive or unnecessary privileges to users or processes.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Ubuntu 22.04 (1 rule)
  • V-260470 Ubuntu 22.04 LTS, when booted, must require authentication upon booting into single-user and maintenance modes. prevents CWE-200
Ubuntu 24.04 (2 rules)
  • V-270647 Ubuntu 24.04 LTS must not have the telnet package installed. prevents CWE-200
  • V-270675 Ubuntu 24.04 LTS when booted must require authentication upon booting into single-user and maintenance modes. prevents CWE-200
Windows 10 (2 rules)
  • V-220712 Only accounts responsible for the administration of a system must have Administrator rights on the system. prevents CWE-269
  • V-220737 Administrative accounts must not be used with applications that access the Internet, such as web browsers, or with potential Internet sources, such as email. prevents CWE-200
Windows 11 (1 rule)
  • V-253269 Only accounts responsible for the administration of a system must have Administrator rights on the system. prevents CWE-269
Windows Server 2016 (2 rules)
  • V-224974 Domain-created Active Directory Organizational Unit (OU) objects must have proper access control permissions. prevents CWE-200
  • V-225007 Only administrators responsible for the member server or standalone or nondomain-joined system must have Administrator rights on the system. prevents CWE-269
Windows Server 2019 (2 rules)
  • V-205743 Windows Server 2019 organization created Active Directory Organizational Unit (OU) objects must have proper access control permissions. prevents CWE-200
  • V-205746 Windows Server 2019 must only allow Administrators responsible for the member server or standalone or nondomain-joined system to have Administrator rights on the system. prevents CWE-269
Windows Server 2022 (2 rules)
  • V-254395 Windows Server 2022 organization created Active Directory Organizational Unit (OU) objects must have proper access control permissions. prevents CWE-200
  • V-254428 Windows Server 2022 must only allow administrators responsible for the member server or standalone or nondomain-joined system to have Administrator rights on the system. prevents CWE-269

References