Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach WebGUI login page (unauthenticated)
-
DeliverySubmit username with %0d%0a CRLF payload
-
ExploitForged auth-failure line injected into syslog-ng program() stream
-
Executionlockout_handler readline() parses forged line, extracts victim IP
-
PersistThreshold exceeded, pfctl adds IP to sshlockout table
-
ImpactVictim IP blocked and active pf states killed (DoS)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A09:2025 - Security Logging & Alerting Failures
ASVS 5.0
V16 - Security Logging and Error Handling Log output neutralization
|
| Exploitation Conditions | No special conditions beyond network reachability - unauthenticated remote exploitation works against default configurations of OPNsense core (the lockout_handler brute-force daemon is always active and the syslog-ng program() destination ships without flags(syslog-protocol)). The attacker needs only HTTP access to the WebGUI /index.php login page and a valid CSRF token fetched from that page; no credentials are required (PR:N). Limiting factors: the attacker must be able to reach the WebGUI login interface (so management-plane exposure governs reach), impact is confined to availability - forced blocking of attacker-chosen IPs and brute-force-counter reset, not code execution or data access - and affected builds are OPNsense core before 26.7.8 (with the appended note indicating backported fixes on other branches). |
| Impact | All exploitability signals point one direction: the vendor CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N) describes a remotely reachable, low-complexity, unauthenticated attack with no user interaction, and the GHSA advisory confirms this is reachable against a default install because lockout_handler is always active. The only base impact is availability (VA:L; VC:N/VI:N/VA:L), which is consistent with the described effect - forced IP blocking and killing of pf states rather than code execution or data disclosure - yielding a medium 6.9 score. No EPSS score was provided in the input, so exploitation-probability cannot be weighed; this is a gap, not a low score, and should not be read as 'low likelihood.' The CVE is NOT listed in CISA KEV in the supplied data, so there is no evidence of active exploitation; however, a detailed, lab-verified public PoC reference exists in the vendor advisory (including exact payload and verification commands), so weaponization is trivial for a motivated attacker. The vuln.today decision label is 'this_month' (not act_now/emergency), which aligns with the picture of an easily-exploited but availability-only, non-RCE issue. Net: a real and credible unauthenticated remote DoS / brute-force-bypass worth patching on a normal priority cycle rather than an emergency, with the caveat that missing EPSS and the availability-only impact are the main things tempering urgency. |
| Exploit ScenarioDerived | An unauthenticated attacker who can reach the OPNsense WebGUI login page submits a handful of login requests (as few as 2, per the advisory's 6-entry math against the default threshold of 5) whose 'usernamefld' value carries a CRLF-injected fragment mimicking a 'Web GUI authentication error ... from <victim-IP>' event. The lockout_handler parses the forged line, extracts the attacker-chosen IP, and after the threshold runs 'pfctl -t sshlockout -T add <victim-IP>' plus 'pfctl -k' - blocking an arbitrary address (e.g. 8.8.8.8, the upstream gateway, or an admin host) and tearing down its firewall states. A detailed, lab-tested public PoC reference exists in the vendor GHSA advisory; it is not independently verified as working exploit code here. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Unauthenticated CRLF injection in OPNsense's WebGUI login form lets a remote attacker forge syslog lines that the always-on lockout_handler parses as genuine authentication failures, causing attacker-chosen IP addresses to be added to the sshlockout pf table and their active pf states to be killed - disrupting management access, DNS, WAN or monitoring connectivity. A second variant injects forged 'Accepted' entries to reset the brute-force counter for an attacking host, enabling continued password guessing. The flaw affects OPNsense core before 26.7.8 (with backported fixes on the 26.1 and 26.4 branches), is reachable against a default install with only HTTP access to /index.php plus a CSRF token, and is scored 6.9 under CVSS 4.0 by the vendor (our assessment: CVSS 3.1 AV:N/AC:L/PR:N/UI:N, availability-only impact). It is not listed in CISA KEV and no active exploitation is confirmed, though the vendor advisory publishes a lab-tested proof-of-concept payload.
RemediationAI
Vendor-released patch: upgrade to OPNsense core 26.7.8; administrators on the older branches should move to 26.1.11 or 26.4.1p1. The fix is the pair of upstream commits (14f8f7dd1d5f06522d60794a7beeac7adb9eca68 and 2076f2c195bf9537ec220f0e5d6aff998f057410) referenced from advisory GHSA-2v2x-m4j7-76pv, which append the true REMOTE_ADDR to authentication log messages. Because the advisory attributes exposure to the program() destination shipping without flags(syslog-protocol) rather than to an optional feature, there is no documented configuration toggle that removes the exposure on unpatched systems; the practical compensating control is to restrict reachability of the WebGUI /index.php login page to trusted management networks or VPN addresses via firewall rules or interface binding, accepting that this narrows administrative access and does not fully eliminate the risk from hosts already inside the permitted management plane. Where syslog-ng templates are locally managed, adding syslog-protocol style newline sanitization to the lockout program() destination would address the injection point, but it changes log formatting consumed by lockout_handler and is not the vendor-supported fix.
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
Root cause is CWE-117 (improper neutralization of CRLF sequences in log output) compounded by an inconsistency between two syslog-ng destinations. The WebGUI login handler in src/www/authgui.inc passes $_POST['usernamefld'] unsanitized into auth_log()/log_msg(), which emits it via syslog(LOG_AUTH); a second path in OPNsense/Auth/AuthenticationFactory.php logs the same username (and the patch commits add the real REMOTE_ADDR to those messages). syslog-ng routes LOG_AUTH to the lockout_handler brute-force daemon through a program() destination that ships without flags(syslog-protocol), while the parallel file destination does use that flag - so \n bytes survive only on the program path, where the daemon's readline() splits them into standalone log records. The injected fragment matches the daemon's '.*Web GUI authentication error.*' BLOCK rule and its first numeric token is taken as the offending IP, after which pfctl -t sshlockout -T add <ip> and pfctl -k <ip> run once the default threshold of five is exceeded; each login attempt yields three auth-facility entries, so two requests suffice. The same parsing allows forged '.*Accepted.*' lines to delete a host's suspect counters. No memory-corruption, code-execution or information-disclosure primitive is involved; impact is confined to availability and to weakening of the brute-force lockout control.
Know when Opnsense 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:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Unauthenticated remote, low-complexity injection against default config (AV:N/AC:L/PR:N/UI:N); impact is availability-only DoS via forced IP blocking, no confidentiality or integrity to the system (A:L).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
OPNsense core before 26.7.8 contains a log injection vulnerability that allows unauthenticated attackers to plant victim IP addresses in the lockout_handler by submitting crafted WebGUI login usernames. Attackers can submit usernames like 'Invalid user <victim-ip>' repeatedly to add the victim to the sshlockout table, blocking SSH and WebGUI access and killing its pf states.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Insecure permissions in the configuration directory (/conf/) of OPNsense Community Edition before 23.7 and Business Edit
DECISO OPNsense 23.1 does not impose rate limits for authentication, allowing attackers to perform a brute-force attack
A command injection vulnerability in the component /api/cron/settings/setJob/ of OPNsense Community Edition before 23.7
A command injection vulnerability in the component diag_backup.php of OPNsense Community Edition before 23.7 and Busines
/ui/cron/item/open in the Cron component of OPNsense Community Edition before 23.7 and Business Edition before 23.4.2 al
OPNsense Community Edition before 23.7 and Business Edition before 23.4.2 was discovered to contain insecure permissions
Insecure permissions exist for configd.socket in OPNsense Community Edition before 23.7 and Business Edition before 23.4
A directory traversal vulnerability in the Captive Portal templates of OPNsense Community Edition before 23.7 and Busine
A Cross-Site Request Forgery (CSRF) in the System Halt API (/system/halt) of OPNsense Community Edition before 23.7 and
OPNsense 19.1 contains a stored cross-site scripting vulnerability that allows authenticated attackers to inject malicio
OPNsense 19.1 contains a stored cross-site scripting vulnerability in the system_advanced_sysctl.php endpoint that allow
OPNsense 19.1 contains a reflected cross-site scripting vulnerability that allows unauthenticated attackers to inject ma
EUVD-2026-113803
GHSA-m68j-m67p-c39j
NVD
CVE.org
EPSS
VulDB
Exploit-DB