Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as PPPoE-Server-Edit user
-
DeliveryPOST crafted username with embedded newline
-
ExploitInject '!'-prefixed entry into mpd.secret
-
ExecutionPPPoE client authenticates to server
-
Impactmpd5 executes injected command as root
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization CRLF sequence sanitization
|
| Exploitation Conditions | Requires an authenticated user holding the specific pfSense PPPoE Server Edit privilege (PR:H) and a configured/enabled PPPoE server; the injected payload only executes when a PPPoE client actually authenticates (AT:P), meaning exploitation is not self-contained and depends on a client authentication event. The attack works against the standard PPPoE server configuration path (services_pppoe_edit.php) because the username POST field is not validated for newline characters. Limiting factors: high administrative privilege needed, PPPoE server feature must be in use, and a successful client authentication must occur to trigger root command execution - so this cannot be exploited by an unauthenticated or low-privilege remote attacker. |
| Impact | This is a post-authentication privilege-escalation / command-injection flaw, not a remotely-exploitable unauthenticated breach. The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:H/UI:N, score 7.5) is internally consistent with the description: it requires PR:H (the attacker must already hold the PPPoE Server Edit privilege), AC:H and AT:P (a PPPoE client must subsequently authenticate to trigger execution), yielding full VC:H/VI:H/VA:H because mpd5 runs the injected command as root. A public POC exists (abraxas/pfsense-pppoe-secret-bang, reported by VulnCheck), so exploit code is available, but there is NO CISA KEV entry and no EPSS score was provided - so there is no evidence of active, widespread exploitation. The real-world risk is therefore moderate and conditional: the high privilege requirement and the dependency on a PPPoE client authentication event sharply limit mass exploitation, but the impact (root on a perimeter firewall) is severe. Treat this as a trust-boundary / privilege-escalation hardening issue rather than an emergency internet-facing RCE. Note: no KEV/EPSS data was supplied, so exploitation-probability signals could not be cross-referenced. |
| Exploit ScenarioDerived | An operator or compromised account holding the pfSense PPPoE Server Edit privilege submits a username field containing an embedded newline followed by a secret beginning with '!', injecting a crafted entry into mpd.secret. When any PPPoE client subsequently authenticates against the server, mpd5 interprets the '!'-prefixed secret as a command and executes it as root. A public POC (abraxas/pfsense-pppoe-secret-bang) demonstrates the newline injection. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Command injection in pfSense CE through 2.9.0 allows authenticated users with the PPPoE Server Edit privilege to inject newline characters into the username field, causing mpd5 to run arbitrary commands as root when a PPPoE client authenticates. The flaw resides in services_pppoe_edit.php, which fails to sanitize the username POST field (CWE-93). Public exploit code exists, but exploitation requires an enabled PPPoE server and a subsequent client authentication event, limiting this to a post-authentication privilege-escalation attack.
RemediationAI
No vendor-released patch identified at time of analysis. As a compensating control, strictly limit the PPPoE Server Edit privilege to only fully trusted administrators (this reduces administrative flexibility), disable the PPPoE server feature entirely if not in use (this eliminates the attack vector but breaks any dependent PPPoE connectivity), and audit the mpd.secret file for unexpected entries beginning with '!' or other suspicious lines. Additionally, monitor system logs for unusual PPPoE authentication events and consider custom input validation for the username field until an official fix is available. Refer to the VulnCheck advisory at https://www.vulncheck.com/advisories/netgate-pfsense-ce-through-2.9.0-command-injection-via-pppoe-server-username for updates.
Affected VersionsENISA
Affected Packages
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 vulnerability is a newline injection (CWE-93) in the PPPoE server configuration page of pfSense CE, a FreeBSD-based firewall and router distribution. The affected component is services_pppoe_edit.php, which processes the username field without filtering carriage return/line feed characters. An attacker with the PPPoE Server Edit privilege can insert additional lines into the mpd.secret file, which is used by the mpd5 PPPoE daemon. If an injected secret line starts with '!', mpd5 interprets it as a shell command and executes it as root when a PPPoE client authenticates. The CPE cpe:2.3:a:netgate:pfsense_ce:*:*:*:*:*:*:*:* indicates all versions up to and including 2.9.0 are affected. The references provide code links showing the vulnerable lines in vpn.inc and services_pppoe_edit.php.
Know when Pfsense Ce 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
CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
PR:H because the PPPoE Server Edit privilege is mandatory; AC:H because execution depends on a subsequent PPPoE client authentication; C/I/A:H since the injected command runs as root.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Netgate pfSense CE through 2.9.0 contains a newline injection vulnerability in services_pppoe_edit.php that allows privileged users to inject mpd.secret entries via unvalidated username POST fields. Attackers with the PPPoE Server Edit privilege can add a line whose secret begins with '!', making mpd5 run commands as root when a PPPoE client authenticates.
Technical POC Analysis
CWE-93 (CRLF/newline injection) per the CVE metadata.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 public PoC link from github
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
pfSense CE deployments through 2.9.0 that run the PPPoE server are exposed to a privilege-escalation flaw that can let a user with limited PPPoE configuration rights execute commands as root on the firewall. Because publicly available exploit code exists and no vendor patch is available, a successful attack could compromise perimeter security and expose internal networks. Leadership should direct immediate mitigation and confirm whether PPPoE is enabled and who can edit its settings.
No vendor-released patch identified at time of analysis. Interim mitigations: disable the PPPoE server if not required; restrict and audit PPPoE Server Edit privileges; reject newline/control characters in PPPoE usernames; monitor configuration changes and mpd5 logs for suspicious command execution; segment and limit firewall management access.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
More in Pfsense Ce
View allThe SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
OS command injection in Netgate pfSense CE 2.7.0 through 2.9.0 allows an authenticated web-interface user who holds the
Command injection in pfSense CE 2.7.0 through 2.9.0 allows authenticated users who hold only the Captive Portal HA privi
Authenticated VPN users can execute arbitrary commands as root on pfSense CE through 2.9.0 by exploiting an OS command i
PHP code execution on Netgate pfSense Plus and pfSense CE firewalls can be achieved by an authenticated, highly privileg
Authorization bypass in Netgate pfSense CE through 2.9.0 allows an authenticated WebGUI account that holds page privileg
Command injection in Netgate pfSense CE 2.4.5 through 2.9.0 lets an authenticated WebGUI user holding the Advanced Admin
Command injection in Netgate pfSense CE 2.7.0 through 2.9.0 lets an authenticated administrator who holds IPsec Mobile c
Root command execution on pfSense CE through 2.9.0 is achievable by authenticated attackers holding the 'WebCfg - Interf
OS command injection in Netgate pfSense CE 2.7.0 through 2.9.0 lets an authenticated web GUI user who holds the Traffic
Command injection in Netgate pfSense CE through 2.9.0 allows an authenticated user with Virtual IP (CARP) edit privilege
OS command injection in Netgate pfSense CE (through 2.9.0) allows remote attackers holding an authenticated web-GUI acco
EUVD-2026-102331
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB