Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to WebGUI with VPN-edit role
-
DeliveryPOST crafted RADIUS secret with quote+newline
-
ExploitInject up-script into mpd5.conf
-
ExecutionAwait L2TP/PPPoE session start
-
PersistUp-script executes as root
-
ImpactFull firewall compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization CRLF sequence sanitization
|
| Exploitation Conditions | Exploitation requires an authenticated pfSense CE WebGUI account that holds the L2TP Server or PPPoE Server edit privilege (PR:H) - it is not available to anonymous or read-only users. The concrete trigger is submitting a RADIUS shared secret value containing a quote and newline to vpn_l2tp.php or services_pppoe_edit.php, which must reference a RADIUS-backed configuration so the secret is written into the mpd5 configuration. Execution is deferred and conditional: the injected up-script runs as root only when an L2TP or PPPoE session actually starts (AC:H/AT:P), so a configured and in-use VPN server is a practical prerequisite. The main limiting factors are the required privileged WebGUI role and the dependency on a session-start event rather than immediate execution. |
| Impact | This is a genuine but access-gated code execution flaw, not a mass-exploitation threat. The provided CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:H/UI:N, VC:H/VI:H/VA:H) resolves to 7.5 (High) and is internally consistent with the description: PR:H correctly reflects that the attacker must already hold L2TP or PPPoE Server edit privileges in the pfSense WebGUI, AC:H/AT:P reflect that payload execution is not immediate but is deferred until a VPN session actually starts and runs the injected up-script as root. The full-triad high impact (root command execution) is credible given CWE-93 argument/newline injection into the mpd5 configuration. Publicly available exploit code exists (abraxas/pfsense-l2tp-radius-mpd, corroborated by a VulnCheck advisory), which raises practical risk, but this must NOT be conflated with active exploitation: there is no CISA KEV listing and no EPSS score in the input, so widespread opportunistic exploitation is unconfirmed. The dominant mitigating signal is PR:H - an attacker who can edit VPN server secrets is already a highly privileged operator, so the real-world value is primarily privilege escalation from a constrained WebGUI role to root, or post-authentication persistence, rather than initial access. Net: a real priority for environments that delegate VPN-server administration to non-root operators, but lower urgency where only full administrators have WebGUI access. |
| Exploit ScenarioDerived | An attacker holding a delegated pfSense WebGUI account with L2TP or PPPoE Server edit rights submits a RADIUS shared secret containing a quote and newline via vpn_l2tp.php or services_pppoe_edit.php, smuggling an extra mpd5 directive that appends an up-script. When the next L2TP/PPPoE session starts, mpd5 executes the injected script as root, yielding full command execution on the firewall. Working exploit code is publicly available, lowering the skill required, though the attacker must already be authenticated with the relevant edit privilege and wait for a session to trigger. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Authenticated pfSense CE WebGUI users holding L2TP Server or PPPoE Server edit privileges can inject mpd5 commands - including an up-script that executes as root - by submitting a RADIUS shared secret that contains a quote and newline. The weakness affects pfSense CE through 2.9.0 and requires a RADIUS-backed VPN configuration that actually starts a session for execution; publicly available exploit code exists, but CISA KEV does not list this CVE and no confirmed active exploitation has been reported. This is a genuine but access-gated code execution issue rather than a mass-exploitation threat.
RemediationAI
No vendor-released patch identified at time of analysis. Until a fix is available, restrict WebGUI access to trusted administrators and remove the L2TP Server and PPPoE Server edit privileges from accounts that do not strictly need them; this closes the injection vector but may slow routine VPN administration. If RADIUS-backed L2TP or PPPoE is not required, disable those services entirely - this eliminates the attack surface but removes VPN connectivity. Where these services must remain, avoid shared secrets that contain quotes, newlines, or other control characters and review existing mpd5 configuration files for unexpected 'up-script' or similar directives; note that manual validation is error-prone and does not fix the underlying code flaw. Monitor WebGUI logs for POSTs to vpn_l2tp.php or services_pppoe_edit.php with unusual secret values, and review pfSense advisories together with the referenced VulnCheck advisory (https://www.vulncheck.com/advisories/netgate-pfsense-ce-through-2.9.0-command-injection-via-radius-secret-mpd-conf-injection) for an official update. Exploit code is publicly available at https://github.com/abraxas/pfsense-l2tp-radius-mpd.
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 resides in PHP WebGUI code (vpn_l2tp.php and services_pppoe_edit.php) that writes a user-supplied RADIUS shared secret into an mpd5 configuration file without neutralising CRLF sequences (CWE-93). A quote followed by a newline breaks out of the secret's string context and appends arbitrary mpd5 directives, including a 'set ... up-script' command. mpd5, the daemon managing L2TP and PPPoE links, executes the referenced script as root when a session is established, turning a configuration injection into privilege escalation from the WebGUI role to root. The CPE cpe:2.3:a:netgate:pfsense_ce:*:*:*:*:*:*:*:* maps to all pfSense CE releases through 2.9.0, and the referenced source lines (vpn.inc L428-L441 and L202-L215, vpn_l2tp.php L137-L143) illustrate where the secret is handled and the mpd5 configuration is built.
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 L2TP/PPPoE edit privilege is required; AC:H because execution depends on a VPN session starting; network-reachable WebGUI gives AV:N and root execution gives full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Netgate pfSense CE through 2.9.0 contains a configuration injection vulnerability that allows authenticated WebGUI users to inject mpd5 commands by submitting an unescaped RADIUS shared secret. Attackers with L2TP or PPPoE Server edit privileges can POST a secret containing a quote and newline to vpn_l2tp.php or services_pppoe_edit.php, appending an up-script that executes as root when a session starts.
Technical POC Analysis
Evidence caveat: the supplied evidence is a GitHub repository README (abraxas/pfsense-l2tp-radius-mpd) plus the advisory text.
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 firewall and VPN appliances through version 2.9.0 can be pushed to full root-level compromise by a WebGUI user who holds L2TP Server or PPPoE Server edit rights, provided the device runs a RADIUS-backed VPN configuration that actually starts a session. Because Netgate has not yet released a fix and working exploit code is publicly available, any organization exposing these appliances at the network edge - and relying on them for remote access - should treat them as an elevated-risk asset until containment or patching is possible. The exposure is gated by privileged access and specific configuration rather than being a mass-exploitation event, but a successful attack yields control of a perimeter security device, which can disrupt or expose VPN traffic organization-wide.
No vendor patch is available; interim mitigations include restricting WebGUI access to a trusted management network or administrative VPN, enforcing multi-factor authentication, minimizing the number of accounts with L2TP Server or PPPoE Server edit privileges, disabling unused L2TP/PPPoE servers and RADIUS-backed VPN configurations, rotating RADIUS shared secrets to values free of quote and newline characters, and monitoring logs for unexpected mpd5 configuration changes or up-script execution.
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-102333
NVD
CVE.org
EPSS
GitHub
Exploit-DB