CVE-2026-39849

Pi-hole FTL remote code execution via newline injection in dns.interface configuration

Published May 5, 2026 CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Description
Pi-hole FTL is the core engine of the Pi-hole network-level advertisement and tracker blocker. In versions before 6.6.1, the `dns.interface` configuration field in Pi-hole FTL accepted newline characters without validation, allowing an attacker to inject arbitrary directives into the generated dnsmasq configuration file. On installations with no admin password set (the default for many deployments), the configuration API is fully accessible without credentials, allowing a network-adjacent attacker to inject the payload, enable the built-in DHCP server, and achieve arbitrary command execution on the host the next time any device on the network requests a DHCP lease. The injected value is persisted to /etc/pihole/pihole.toml and survives restarts. The strncpy in the code path limits the total interface field to 31 bytes, but payloads such as wlan0\ndhcp-script=/tmp/p fit within this constraint. The dnsmasq config validation introduced in FTL 6.6 only checks syntactic validity, so valid directives injected via newline pass validation successfully. This issue has been fixed in version 6.6.1.

Analysis

AI-generated

Technical impact

A newline injection vulnerability in the dns.interface field of Pi‑hole FTL allows an attacker to insert arbitrary directives into the generated dnsmasq configuration file. The attacker can add commands such as dhcp-script=/tmp/p fit, which is then executed when the host processes DHCP leases. Since Pi‑hole’s configuration API is exposed without credentials on installations lacking an admin password, a network‑adjacent attacker can exploit this flaw without authentication and achieve arbitrary command execution on the underlying host, giving full control over both the device and the network it serves.

Affected Systems

Pi‑hole FTL versions prior to 6.6.1 on deployments with the default unsecured configuration (no admin password).

Risk and Exploitability

The CVSS score of 8.7 signals a high severity impact with moderate complexity. The EPSS score is not available, but the vulnerability’s presence in the default configuration exposes it widely. It is not listed in CISA’s KEV catalog, yet the lack of authentication and the ability to persist changes across reboots increases the likelihood of exploitation. An attacker operating on the local network can trigger the breach by submitting a crafted request to the unsecured API, after which the malicious payload will execute during any DHCP lease transaction.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Pi‑hole FTL to version 6.6.1 or later, which removes newline handling in the dns.interface field.
  • If an upgrade is not immediately possible, configure a strong admin password to lock down the configuration API and prevent unauthenticated access.
  • Remove any injected lines from /etc/pihole/pihole.toml and disable the built‑in DHCP server or ensure dhcp-script entries are corrected; then restart Pi‑hole to apply changes.

Generated by OpenCVE AI on May 5, 2026 at 22:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
CPEs cpe:2.3:a:pi-hole:ftldns:6.6:*:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Pi-hole
Pi-hole ftldns
Vendors & Products Pi-hole
Pi-hole ftldns
Type Values Removed Values Added
Description Pi-hole FTL is the core engine of the Pi-hole network-level advertisement and tracker blocker. In versions before 6.6.1, the `dns.interface` configuration field in Pi-hole FTL accepted newline characters without validation, allowing an attacker to inject arbitrary directives into the generated dnsmasq configuration file. On installations with no admin password set (the default for many deployments), the configuration API is fully accessible without credentials, allowing a network-adjacent attacker to inject the payload, enable the built-in DHCP server, and achieve arbitrary command execution on the host the next time any device on the network requests a DHCP lease. The injected value is persisted to /etc/pihole/pihole.toml and survives restarts. The strncpy in the code path limits the total interface field to 31 bytes, but payloads such as wlan0\ndhcp-script=/tmp/p fit within this constraint. The dnsmasq config validation introduced in FTL 6.6 only checks syntactic validity, so valid directives injected via newline pass validation successfully. This issue has been fixed in version 6.6.1.
Title Pi-hole FTL remote code execution via newline injection in dns.interface configuration
Weaknesses CWE-93
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-93

    Improper Neutralization of CRLF Sequences ('CRLF Injection')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
May 8, 2026, 2:12 PM
Reserved
Apr 7, 2026, 7:13 PM
Status
Analyzed
Published
May 5, 2026, 9:16 PM
Modified
Jul 24, 2026, 9:10 PM