Skip to main content

pfSense CVE-2026-56127

| EUVDEUVD-2026-70496 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-03 VulnCheck GHSA-3c8g-23wp-3mx8
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to pfSense UI as low-privilege admin
  2. Delivery
    Craft XSS payload in rule description field
  3. Exploit
    Submit malicious rule via /firewall_rules_edit.php
  4. Execution
    Payload persists in config.xml without HTML sanitization
  5. Persist
    Higher-privilege admin views /status_logs_filter.php
  6. Impact
    Payload executes in victim's browser session

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

The attacker must be authenticated to the pfSense web UI and hold the explicitly granted 'Firewall: Rules: Edit' privilege - this is a non-default, administrator-assigned role. Payload execution requires a second, separately authenticated user holding the 'Status: Logs: Firewall' privilege to view the firewall log table at /status_logs_filter.php after the malicious rule is created. Exploitation is therefore limited to multi-administrator pfSense deployments where role-based privilege delegation is in use. Single-admin environments (one account with full privileges) present no exploitable cross-privilege boundary. Both pfSense Plus (before 26.07) and pfSense CE (before 2.9.0) must be running vulnerable versions. There is no requirement for any non-default network configuration or special protocol - the attack path is entirely through the standard HTTPS web UI.

Impact

The CVSS 4.0 score of 5.1 (Medium) accurately captures the constrained exploitation path: the attacker must be authenticated with the specific 'Firewall: Rules: Edit' privilege (PR:L), and payload execution requires a second privileged victim with 'Status: Logs: Firewall' access to view the log table (UI:P). The impact is confined to the victim's browser session - SC:L and SI:L in CVSS 4.0 terms - with no direct compromise of the pfSense system itself. In multi-administrator deployments relying on role-based privilege separation, this represents a meaningful lateral-escalation path: a lower-privileged operator can target a higher-privileged administrator's session to steal tokens or perform admin actions on their behalf. In single-admin deployments, no meaningful privilege boundary exists to cross, reducing real-world impact significantly. No EPSS score is provided in the input data, no CISA KEV listing exists, and no public PoC has been identified. The risk is real but narrow: it matters most in organizations that delegate pfSense management across multiple accounts with differing trust levels.

Exploit ScenarioDerived

An attacker with a lower-privileged pfSense account holding 'Firewall: Rules: Edit' access creates a firewall rule whose description contains a JavaScript payload (e.g., a cookie-stealing script) via /firewall_rules_edit.php. When a higher-privileged administrator with 'Status: Logs: Firewall' access subsequently opens the firewall log table at /status_logs_filter.php, the stored payload executes in their browser, potentially harvesting their session token or silently performing administrative actions in their name. No public PoC has been identified, but the attack path is well-described and straightforward to replicate from the disclosure.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 03, 2026

Stored cross-site scripting in pfSense Plus and pfSense CE allows an authenticated attacker holding the 'Firewall: Rules: Edit' privilege to inject arbitrary JavaScript via the descr parameter in /firewall_rules_edit.php. The injected payload is written to the pfSense XML configuration with only backslash-escaping applied and no HTML sanitization, then rendered unencoded in the firewall log table at /status_logs_filter.php, executing in the browser of any administrator holding the 'Status: Logs: Firewall' privilege who views the affected entries. Patches are available in pfSense Plus 26.07 and pfSense CE 2.9.0; no public exploit or CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade pfSense Plus to version 26.07 or later, or pfSense CE to version 2.9.0 or later; Netgate release notes confirm these as the fixing versions at https://docs.netgate.com/pfsense/en/latest/releases/26-07.html and https://docs.netgate.com/pfsense/en/latest/releases/2-9-0.html. If an immediate upgrade is not feasible, restrict the 'Firewall: Rules: Edit' privilege to only fully trusted administrators - collapsing the privilege boundary between rule editors and log viewers eliminates the cross-privilege escalation path, though it reduces the granularity of role delegation. As a supplementary measure, audit existing firewall rule descriptions for suspicious content (script tags, event handlers, encoded payloads) and remove any identified payloads from config.xml. Note that reducing privilege delegation may impact operational workflows for teams using segregated firewall management roles.

Affected VersionsENISA

pfSense Plus 0 <26.07
pfSense CE 0 <2.9.0

Affected Packages

euvd pfsense_ce fix: 2.9.0
euvd pfsense_plus fix: 26.07

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

pfSense is a FreeBSD-based open-source firewall and router platform distributed as pfSense Plus (commercial, Netgate-supported) and pfSense CE (community edition), both sharing the same PHP web UI codebase. Both editions are affected per CPE cpe:2.3:a:netgate:pfsense_plus and cpe:2.3:a:netgate:pfsense_ce. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): firewall rule descriptions submitted via the descr parameter are stored in config.xml with only backslash-escaping - a defense insufficient against HTML injection - and are later read back and inserted into the HTML of /status_logs_filter.php without any output encoding. This creates a classic stored XSS sink where attacker-controlled data from one page is reflected into a separate privileged page viewed by a different user.

Know when Pfsense Plus 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 5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 5.4 MEDIUM

Low-privilege auth required (PR:L), victim must view log page (UI:R), impact crosses to victim's browser session (S:C), no availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Sep 03, 2026 - 16:01 EUVD
CVE Published
Sep 03, 2026 - 14:21 cve.org
MEDIUM 5.1

DescriptionCVE.org

pfSense Plus before 26.07 and CE before 2.9.0 allow authenticated users with the Firewall: Rules: Edit privilege to inject arbitrary JavaScript via the descr parameter in /firewall_rules_edit.php. The firewall rule description is stored in the pfSense XML configuration with only backslash-escaping applied and no HTML sanitization, then rendered without encoding in the firewall log table in /status_logs_filter.php. The payload executes in the browser of any user with the Status: Logs: Firewall privilege who views the affected log entries.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
High
widely deployed open-source firewall in SMB and prosumer environments
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
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-2023-27100 CRITICAL POC
9.8 Mar 22

Improper restriction of excessive authentication attempts in the SSHGuard component of Netgate pfSense Plus software v22

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-2024-57273 MEDIUM POC
5.4 May 14

Netgate pfSense CE (prior to 2.8.0 beta release) and corresponding Plus builds is vulnerable to Cross-site scripting (XS

CVE-2023-48123 HIGH
8.8 Dec 06

An issue in Netgate pfSense Plus v.23.05.1 and before and pfSense CE v.2.7.0 allows a remote attacker to execute arbitra

CVE-2023-42326 HIGH
8.8 Nov 14

An issue in Netgate pfSense v.2.7.0 allows a remote attacker to execute arbitrary code via a crafted request to the inte

CVE-2022-26019 HIGH
8.8 Mar 31

Improper access control vulnerability in pfSense CE and pfSense Plus (pfSense CE software versions prior to 2.6.0 and pf

CVE-2022-24299 HIGH
8.8 Mar 31

Improper input validation vulnerability in pfSense CE and pfSense Plus (pfSense CE software versions prior to 2.6.0 and

CVE-2026-67189 MEDIUM
5.3 Aug 19

Stored cross-site scripting in pfSense Plus (before 26.07) and pfSense CE (through 2.8.1) allows an external attacker wh

CVE-2026-56128 MEDIUM
5.1 Sep 03

Stored cross-site scripting in pfSense Plus before 26.07 and CE before 2.9.0 allows an authenticated attacker holding th

CVE-2026-56126 MEDIUM
5.1 Sep 03

Stored XSS in pfSense Plus before 26.07 and pfSense CE before 2.9.0 allows an authenticated user holding only the Status

CVE-2024-54780 HIGH POC
8.8 May 14

Netgate pfSense CE (prior to 2.8.0 beta release) and corresponding Plus builds are vulnerable to command injection in th

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