Skip to main content

pfSense CE CVE-2026-111223

| EUVDEUVD-2026-102335 HIGH
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') (CWE-74)
2026-10-15 VulnCheck
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with IPsec Mobile privileges
  2. Delivery
    Inject '}' and start-scripts via login_banner
  3. Exploit
    strongswan.conf attr value escaped
  4. Execution
    charon restart runs script as root
  5. Impact
    Full root command execution on firewall

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Input neutralization, injection prevention
Exploitation Conditions

Exploitation requires an authenticated pfSense CE account (version 2.7.0-2.9.0) with IPsec Mobile configuration privileges and the ability to set the mobile-client login banner (vpn_ipsec_mobile.php login_banner field). The specific trigger is a single-line banner value containing a '}' character that escapes the unquoted strongswan.conf 'attr' value (attr id 28672) and injects charon.start-scripts entries. Code execution as root does not occur on submission alone - it fires when the strongSwan/charon daemon is restarted (e.g., IPsec configuration apply or service reload), so a charon restart is a required precondition. Limiting factors: PR:H high-privilege access to IPsec Mobile settings is mandatory, the IPsec mobile feature must be in use, and no unprivileged or unauthenticated path exists; there is no mitigating user-interaction requirement (UI:N).

Impact

This is a genuine high-priority issue for organizations running affected pfSense CE firewalls, but its exploitation is gated by privilege rather than exposure. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N) with a score of 8.6 and full VC:H/VI:H/VA:H impact reflects that successful exploitation yields command execution as root - the highest possible technical impact - over the network with low complexity and no user interaction. The decisive limiting signal is PR:H: the attacker must already hold IPsec Mobile configuration privileges, so this is a privilege-escalation / post-authentication root-compromise primitive, not an unauthenticated internet-facing breach. Supporting signals strengthen the priority: a POC exploit is publicly available (publicly available exploit code exists) and a vendor patch exists, the root cause is confirmed by the referenced pfSense commit diff, and the research is credited to VulnCheck. No EPSS score was supplied, and the vulnerability is NOT listed in CISA KEV (no KEV data in input), so there is no evidence of active exploitation - treat the public POC as elevating likelihood but distinct from confirmed in-the-wild use. Net: a real priority for defenders who delegate IPsec Mobile administration or cannot fully trust those operators, and for any multi-tenant/managed-firewall scenario, but lower urgency than an unauthenticated RCE given the PR:H barrier.

Exploit ScenarioDerived

An authenticated pfSense user who holds IPsec Mobile configuration privileges sets the mobile-client login banner to a single-line value containing a '}' character, which escapes the unquoted strongswan.conf attr value and injects a charon.start-scripts entry. When the IPsec/charon daemon is restarted (e.g., on the next configuration apply or service reload), strongSwan executes the attacker-defined script as root, giving full control of the firewall. A public POC exists at the referenced abraxaslabs/GitHub research, and the low attack complexity (AC:L, no user interaction) makes reliable exploitation straightforward once the required privilege is held.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC Patch available 0.8% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Command injection in Netgate pfSense CE 2.7.0 through 2.9.0 lets an authenticated administrator who holds IPsec Mobile configuration privileges store a crafted single-line login banner that escapes the unquoted strongswan.conf attr value and injects charon.start-scripts entries, resulting in command execution as root on the firewall. Exploitation is gated by high privilege (PR:H) and by a charon restart precondition - the injected payload only runs when the strongSwan daemon is restarted, not at submission time - but publicly available exploit code exists and the impact on confidentiality, integrity, and availability is high. This is a genuine high-priority issue for organizations running affected pfSense CE firewalls, but its exploitation is gated by privilege rather than exposure, and no unauthenticated or unprivileged path has been identified.

RemediationAI

Apply the vendor patch for pfSense CE - the upstream fix is commit 27a52d0807 (https://github.com/pfsense/pfsense/commit/27a52d0807), which ships in the vendor-released patched version of pfSense CE; the specific patched release number is not independently confirmed in the supplied data, so validate against the vendor advisory before upgrading. The fix removes the vulnerable manual quoting around the strongswan.conf attr values (login banner id 28672, DNS domain 27674/27675, DNS split 28675/25, PFS group 28679) in src/etc/inc/ipsec.inc and the Mobile Clients page. If immediate patching is not possible, clear or remove the IPsec Mobile login_banner value in VPN > IPsec > Mobile Clients so no attacker-controlled text reaches the attr field - trade-off: legitimate users lose the pre-login banner/notice and any legal or branding text must be delivered another way. Restrict the IPsec Mobile configuration privilege to the smallest possible set of trusted administrators (the exploit requires PR:H access), since no unauthenticated path exists; this is a containment measure, not a fix, and it does not protect against a malicious or compromised privileged admin. Because root execution fires only when charon restarts, avoid unnecessary IPsec service reloads and investigate unexpected charon restarts on affected systems, and review the generated strongswan.conf for unexpected charon.start-scripts entries or injected '}' characters as a detection and post-compromise check. An exploit proof-of-concept is publicly available (https://github.com/abraxas/pfsense-ipsec-login-banner), so treat the technical details as known to attackers and prioritize patching internet- and admin-exposed firewalls. Further guidance is available in the VulnCheck advisory at https://www.vulncheck.com/advisories/netgate-pfsense-ce-2.7.0-through-2.9.0-command-injection-via-ipsec-mobile-login-banner.

Affected VersionsENISA

pfSense CE 2.7.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 flaw is a classic injection class issue (CWE-74) in how pfSense CE renders its IPsec Mobile configuration into the strongSwan daemon configuration file (strongswan.conf). The affected code in src/etc/inc/ipsec.inc (the ipsec_setup_strongswan function) and the Mobile Clients page src/usr/local/www/vpn_ipsec_mobile.php assemble charon plugin attr values - notably the Cisco-style attribute id 28672 (login banner), along with DNS domain (27674/27675), DNS split (28675/25), and PFS group (28679) - inside quoted strings written to a text configuration consumed by the strongSwan charon daemon. Because strongSwan's configuration language uses braces to delimit blocks and supports directives such as charon.start-scripts that are executed as root when charon starts, a '}' character in the banner value terminates the attr block early and allows arbitrary start-scripts entries to be appended. The upstream fix commit 27a52d0807 removes the manual double-quoting of these values and normalizes the DNS split list (space to comma conversion), so the configuration writer can apply correct quoting/escaping instead of relying on concatenated quote characters. The CPE entry cpe:2.3:a:netgate:pfsense_ce:*:*:*:*:*:*:*:* (wildcard version) confirms the affected product family, and separate pfSense branches (Plus/other releases) are not identified as affected in the supplied data.

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 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.2 HIGH

Network-reachable web UI (AV:N/AC:L), but requires high IPsec Mobile config privileges (PR:H); root code execution gives C/I/A:H, scope unchanged as impact stays on the same firewall host.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/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
Low
Attack Requirements
None
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 2.7.0 through 2.9.0 contains a configuration injection vulnerability that allows authenticated users with IPsec Mobile privileges to execute commands as root via the login_banner field. Attackers can submit a single-line banner containing '}' to escape the unquoted strongswan.conf attr value and define charon.start-scripts entries that charon executes as root on restart.

Technical POC Analysis

CWE-74: user-controlled data from the IPsec Mobile loginbanner field is concatenated into the strongSwan configuration without escaping, producing a config-injection primitive in a settings language…

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

A command-injection flaw in Netgate pfSense CE (versions 2.7.0 through 2.9.0) allows an administrator already holding IPsec Mobile configuration rights to plant a crafted login banner that executes arbitrary code as root on the firewall once the strongSwan service restarts. Because pfSense firewalls sit at the network edge and enforce segmentation, a compromised device could give an attacker broad visibility and control over protected environments. Leadership should care because publicly available exploit code exists, remediation is straightforward via the vendor's patch, and the exposure is limited to a small, trusted administrative group rather than the general user population.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.8%
Top 46% exploitable
Prevalence
High
one of the most widely deployed open-source firewall/router platforms
Data Quality
5 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 0.8%
Patch available Yes
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +43
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-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

CVE-2026-111215 HIGH POC
8.6 Oct 15

Command injection in Netgate pfSense CE through 2.9.0 allows remote authenticated users with limited 'Wireless Edit' or

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