Skip to main content

pfSense CE CVE-2026-111221

| EUVDEUVD-2026-102333 HIGH
Improper Neutralization of CRLF Sequences ('CRLF Injection') (CWE-93)
2026-10-15 VulnCheck
7.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to WebGUI with VPN-edit role
  2. Delivery
    POST crafted RADIUS secret with quote+newline
  3. Exploit
    Inject up-script into mpd5.conf
  4. Execution
    Await L2TP/PPPoE session start
  5. Persist
    Up-script executes as root
  6. Impact
    Full 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC No patch listed yet 1.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

pfSense CE 0 ≤2.9.0

Affected Packages

euvd pfsense_ce no fix

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

Vendor (VulnCheck) PRIMARY 7.5 HIGH
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
vuln.today AI 6.6 MEDIUM

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
1.0%
Top 39% exploitable
Prevalence
High
pfSense CE is a very widely deployed open-source firewall/router platform
Data Quality
4 sources
Confidence: Medium

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 Yes
EPSS 1.0%
Patch available No
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· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

59
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2026-111214 HIGH POC
8.6 Oct 15

OS command injection in Netgate pfSense CE 2.7.0 through 2.9.0 allows an authenticated web-interface user who holds the

CVE-2026-111229 HIGH POC
8.6 Oct 15

Command injection in pfSense CE 2.7.0 through 2.9.0 allows authenticated users who hold only the Captive Portal HA privi

CVE-2026-111224 HIGH POC
7.7 Oct 15

Authenticated VPN users can execute arbitrary commands as root on pfSense CE through 2.9.0 by exploiting an OS command i

CVE-2026-97730 HIGH POC
8.5 Sep 25

PHP code execution on Netgate pfSense Plus and pfSense CE firewalls can be achieved by an authenticated, highly privileg

CVE-2026-111231 HIGH POC
8.6 Oct 15

Authorization bypass in Netgate pfSense CE through 2.9.0 allows an authenticated WebGUI account that holds page privileg

CVE-2026-111226 HIGH POC
8.6 Oct 15

Command injection in Netgate pfSense CE 2.4.5 through 2.9.0 lets an authenticated WebGUI user holding the Advanced Admin

CVE-2026-111223 HIGH POC
8.6 Oct 15

Command injection in Netgate pfSense CE 2.7.0 through 2.9.0 lets an authenticated administrator who holds IPsec Mobile c

CVE-2026-111220 HIGH POC
8.6 Oct 15

Root command execution on pfSense CE through 2.9.0 is achievable by authenticated attackers holding the 'WebCfg - Interf

CVE-2026-111218 HIGH POC
8.6 Oct 15

OS command injection in Netgate pfSense CE 2.7.0 through 2.9.0 lets an authenticated web GUI user who holds the Traffic

CVE-2026-111217 HIGH POC
8.6 Oct 15

Command injection in Netgate pfSense CE through 2.9.0 allows an authenticated user with Virtual IP (CARP) edit privilege

CVE-2026-111216 HIGH POC
8.6 Oct 15

OS command injection in Netgate pfSense CE (through 2.9.0) allows remote attackers holding an authenticated web-GUI acco

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