Skip to main content

pfSense CE EUVDEUVD-2026-102345

| CVE-2026-111233 LOW
Cross-site Scripting (XSS) (CWE-79)
2026-10-15 VulnCheck
2.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious firewall_rules.php GET link
  2. Delivery
    Lure privileged WebGUI user to click
  3. Exploit
    Server reflects unencoded if parameter
  4. Execution
    Script executes in victim's browser session
  5. Impact
    Attacker acts with victim's firewall privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the non-default 'Require Firewall Interface' option to be enabled on pfSense CE 2.7.1 through 2.9.0; without it the vulnerable code path in firewall_rules.php is not reachable. The attacker must also lure a user who already holds firewall-rules privileges into opening a crafted GET link (the unencoded 'if' parameter carries the payload), so success depends on social engineering of an authenticated privileged operator. Limiting factors: non-default configuration, required user interaction, a privileged (not anonymous) victim, and execution confined to that victim's WebGUI session privileges - there is no path to code execution against default installations.

Impact

This is a low-priority issue despite the existence of public exploit code. The vendor CVSS 4.0 base score is only 2.3 (Low), and the vector tells a consistent story: AV:N (reachable over the network) but AC:H and AT:P mean exploitation depends on a non-default configuration ('Require Firewall Interface' enabled), and UI:P means the attack cannot succeed without a privileged user being tricked into clicking a crafted link. Although PR:N indicates the attacker themselves needs no credentials, the payload only executes with the privileges of the lured victim, who must already hold firewall-rules privileges - so this is not a path to unauthenticated takeover. POC/exploit code is publicly available (GitHub + VulnCheck advisory), which raises reproducibility, but POC availability is NOT active exploitation: there is no CISA KEV listing and no EPSS score was provided in the input, so widespread opportunistic exploitation cannot be inferred. Impact is bounded (VC:L/VI:L, no availability impact). Net: a real, confirmed reflected XSS worth patching in routine cycles, but the stacked prerequisites (non-default option, privileged victim, user interaction) make it far lower real-world risk than its CWE class alone might suggest.

Exploit ScenarioDerived

On a pfSense CE instance (2.7.1-2.9.0) with the non-default 'Require Firewall Interface' option enabled, an attacker crafts a GET URL to firewall_rules.php containing a malicious script in the unencoded 'if' parameter and sends it to an administrator with firewall-rules privileges. When that user opens the link while authenticated to the WebGUI, the reflected script runs in their session and can act with their privileges. Public exploit code for this specific parameter exists (VulnCheck advisory and a GitHub PoC repo), lowering the effort to reproduce it.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Reflected cross-site scripting in Netgate pfSense CE 2.7.1 through 2.9.0 allows unauthenticated remote attackers to inject script into the WebGUI via the unencoded 'if' parameter in firewall_rules.php, but only when the non-default 'Require Firewall Interface' option is enabled and a privileged operator is lured into opening a crafted GET link. Publicly available exploit code exists, yet the vulnerability is a low-priority issue because exploitation requires a non-default configuration, user interaction, and a victim who already holds firewall-rules privileges, with impact confined to that victim's session.

RemediationAI

Vendor patch status: upstream fix available (commit 9363ac5b8651a1c7a333180425ce7719070f95f9); a released patched version is not independently confirmed, so consult the VulnCheck advisory (https://www.vulncheck.com/advisories/netgate-pfsense-ce-2.7.1-through-2.9.0-reflected-xss-via-firewall-rules-php) for the latest fixed release. The most direct mitigation is to disable the non-default 'Require Firewall Interface' option if it is not required, which makes the vulnerable code path unreachable - trade-off is that it removes an additional interface-binding security control. Because exploitation requires luring a privileged user, restrict WebGUI access to trusted management networks and educate firewall-rules-privileged users to avoid opening untrusted GET links. If the option must remain enabled and no patch is applied, consider a reverse proxy or WAF rule that encodes or strips unexpected characters in the 'if' parameter, though such controls are bypassable and add latency. Monitor for vendor patched releases and apply them promptly.

Affected VersionsENISA

pfSense CE 2.7.1 ≤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 underlying issue is CWE-79 reflected cross-site scripting in the PHP-based pfSense CE WebGUI. The firewall_rules.php script reflects the value of the 'if' parameter into the HTML response without proper output encoding (see lines 138-146 and 391 in commit 9363ac5b8651a1c7a333180425ce7719070f95f9). This is only reachable when the non-default 'Require Firewall Interface' option is enabled; otherwise the vulnerable code path is not reached. The CVSS 4.0 score of 2.3 (AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N) and the independent CVSS 3.1 assessment (AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N) both reflect the limited scope: an unauthenticated attacker can deliver a crafted GET link, but exploitation requires a privileged, authenticated victim to click it and results only in script execution within that victim's WebGUI session. The CPE identifier cpe:2.3:a:netgate:pfsense_ce:*:*:*:*:*:*:*:* covers the product generically, with the affected version range being 2.7.1 through 2.9.0 per the description and VulnCheck advisory.

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 2.3 LOW
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
vuln.today AI 4.7 MEDIUM

AC:H reflects the required non-default option, PR:N since the attacker needs no account, UI:R for the lured click, S:C as script runs in the victim's browser context, and C:L/I:L with no availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

Netgate pfSense CE 2.7.1 through 2.9.0 contains a reflected cross-site scripting vulnerability in firewall_rules.php that allows remote attackers to inject script via the unencoded if parameter. When the non-default Require Firewall Interface option is enabled, attackers can lure users with firewall rules privileges into opening a crafted GET link to execute script in the WebGUI with their privileges.

Threat Intelligence Overview

EPSS Score
0.5%
Top 60% exploitable
Prevalence
High
pfSense CE is a very widely deployed open-source firewall/router platform
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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

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

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