Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to WebGUI as Advanced Admin user
-
DeliveryInject $(...)/newline into sshguard threshold field
-
ExploitWrite payload unvalidated to sshguard.conf
-
ExecutionService restart sources config as root
-
ImpactArbitrary command execution as root on firewall
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated pfSense CE WebGUI session belonging to a user with the 'Advanced Admin Access' privilege (an administrative role), and access to the Login Protection / sshguard settings on an affected version (CE 2.4.5 through 2.9.0). The specific exploitable inputs are the sshguard threshold, block time, or detection time fields, which accept newline or $(...) command-substitution content that is written unvalidated to sshguard.conf and sourced as root when the service restarts. Primary limiting factor: the PR:H requirement means only already-privileged admin accounts can trigger it, so non-admin WebGUI users and unauthenticated attackers cannot exploit it directly; the service-restart step is the execution trigger. No end-user interaction is required beyond the attacker's own actions. |
| Impact | This is a genuine but privilege-gated root-code-execution flaw rather than a mass-exploitable remote threat. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC:H/VI:H/VA:H) scores 8.6 (High), and the key limiting signal is PR:H - exploitation requires an authenticated WebGUI account already holding the 'Advanced Admin Access' privilege, which is effectively an administrative role. The real value delivered is horizontal/vertical escalation: an admin-level WebGUI user converts their access into arbitrary command execution as root on the underlying firewall OS. A public exploit exists (abraxas/pfsense-sshguard-crlf) and the issue was reported by VulnCheck, so weaponization effort is low once an attacker has valid high-privileged credentials. No CISA KEV listing is present in the input, so there is no evidence of active in-the-wild exploitation, and no EPSS score was provided, so statistical exploitation probability cannot be stated - treat both as MISSING rather than low. Net priority: elevated for internet-exposed or multi-admin pfSense deployments (because root compromise of a perimeter firewall is high-impact), but materially constrained by the PR:H precondition, so this is not a 'patch-in-an-hour-against-anonymous-attackers' scenario. The AV:N network vector is consistent with the WebGUI being reachable over the network; it does not imply unauthenticated access. |
| Exploit ScenarioDerived | An attacker with (or who has phished/compromised) a pfSense WebGUI account carrying Advanced Admin Access privilege navigates to the Login Protection settings and enters an sshguard threshold, block-time, or detection-time value embedded with a newline and a $(...) command substitution. The malicious value is written unvalidated into sshguard.conf and executed as root when the service restarts, yielding full root command execution on the firewall. A public proof-of-concept (abraxas/pfsense-sshguard-crlf) is available, lowering the barrier to reliable exploitation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Command injection in Netgate pfSense CE 2.4.5 through 2.9.0 lets an authenticated WebGUI user holding the Advanced Admin Access privilege execute arbitrary commands as root by placing newline or $(...) sequences in the Login Protection (sshguard) threshold, block time, or detection time fields, which are written unvalidated to sshguard.conf and sourced as root when the service restarts. The flaw is privilege-gated rather than mass-exploitable: the CVSS vector specifies PR:H, so only already-administrative accounts can trigger it, with no user interaction required beyond the attacker's own session. Publicly available exploit code exists (referenced in the CVE record), and the root cause is CWE-78 OS command injection.
RemediationAI
No vendor-released patch identified at time of analysis: the CVE record supplies vulnerable source references, a VulnCheck advisory, and an exploit PoC, but no fixed version, so confirm current status with Netgate and the VulnCheck advisory (https://www.vulncheck.com/advisories/netgate-pfsense-ce-2.4.5-through-2.9.0-os-command-injection-via-system-advanced-admin-php) before upgrading. The most effective control is to tightly restrict the Advanced Admin Access privilege and administrator group membership to the smallest possible set of trusted accounts, since only already-privileged users can reach the vulnerable fields; the trade-off is that any remaining admin account is still fully exploitable, so this reduces rather than removes exposure. Where feasible, leave Login Protection (sshguard) threshold, block time, and detection time at defaults and never enter newline or $(...) content into them; disabling the Login Protection feature entirely eliminates the injection surface but also forfeits sshguard brute-force protection for WebGUI and SSH logins. Limit WebGUI reachability to trusted management networks or a VPN, and enable file-integrity monitoring and alerting on the sshguard configuration file plus audit logging of admin activity and root processes spawned around service restarts; these are detective controls and provide no protection against an administrator who already holds legitimate access. Review the researcher write-up at https://abraxaslabs.tech/research/pfsense-ce-leftovers for additional indicators and rotate credentials for any admin account suspected of compromise.
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 underlying weakness is CWE-78, improper neutralization of special elements used in an OS command. pfSense CE exposes sshguard tuning parameters (threshold, block time, detection time) through the System > Advanced > Admin Access / Login Protection settings in the WebGUI; the handling code in system_advanced_admin.inc and the configuration-writing logic in syslog.inc (both cited in the CVE references at the relevant line ranges) pass those operator-supplied values into the generated sshguard.conf without sanitization. Because pfSense's startup/wrapper logic sources that configuration file as root when the service restarts, an embedded newline can close the intended assignment and append an arbitrary shell command, while a $(...) payload is evaluated by the shell during sourcing. The affected product line is captured by the CPE entry cpe:2.3:a:netgate:pfsense_ce:*:*:*:*:*:*:*:*, spanning CE releases 2.4.5 to 2.9.0. Execution therefore depends on two chained conditions: an authenticated admin-privileged session that can modify Login Protection fields, and a subsequent restart of the sshguard service, which is the actual trigger rather than the save action itself.
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:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
WebGUI is network-reachable (AV:N) and injection is straightforward (AC:L), but exploitation requires the Advanced Admin Access privilege (PR:H); root command execution yields full C:H/I:H/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
pfSense CE 2.4.5 through 2.9.0 contains an OS command injection vulnerability that allows authenticated WebGUI users with Advanced Admin Access privilege to execute commands as root via Login Protection settings. Attackers can submit sshguard threshold, block time, or detection time values containing newlines or $(...) that are written unvalidated to sshguard.conf and sourced as root on restart.
Technical POC Analysis
Evidence base: the supplied source is the PoC repository README (abraxas/pfsense-sshguard-crlf, AGPL-3.0, single commit).
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
A high-severity command injection flaw in Netgate pfSense CE (versions 2.4.5 through 2.9.0) allows an account already holding the Advanced Admin Access privilege to run arbitrary commands as root on the firewall, the device that enforces the organization's network perimeter and segmentation. Because the flaw is privilege-gated and no vendor patch is available, leadership should treat this primarily as an insider-risk, credential-compromise, and privilege-hygiene exposure affecting the small population of staff with elevated WebGUI rights, rather than a broad external threat requiring emergency perimeter changes.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict WebGUI access to a trusted management network, remove the Advanced Admin Access privilege from all but essential accounts, enforce MFA and unique credentials for those accounts, monitor sshguard configuration changes and service restarts, and audit or clear injected content in the Login Protection threshold, block time, and detection time fields.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
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.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
Command injection in Netgate pfSense CE through 2.9.0 allows remote authenticated users with limited 'Wireless Edit' or
EUVD-2026-102338
NVD
CVE.org
EPSS
GitHub
Exploit-DB