Skip to main content

OPNsense CVE-2026-119425

| EUVDEUVD-2026-113805 MEDIUM
Authentication Bypass by Spoofing (CWE-290)
2026-10-30 VulnCheck GHSA-48x9-g485-9vgw
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Join victim's Layer-2 segment
  2. Delivery
    Observe authorized client's MAC
  3. Exploit
    Send forged gratuitous ARP replies binding attacker IP to victim MAC
  4. Execution
    Background sync adds attacker IP to victim session
  5. Impact
    Inherit authorized portal access attributed to victim

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Anti-spoofing controls
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

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

Exploitation Conditions

Requires (1) OPNsense captive portal configured with the roaming feature enabled (roaming = 1 on the zone); (2) network position on the same Layer-2 broadcast segment as the portal clients, so forged gratuitous ARP/hostwatch observations are accepted; and (3) an existing authorized victim session whose MAC the attacker can claim. Exploitation is limited by these factors: it is NOT remotely exploitable across routed boundaries (Layer-2 adjacency only), it provides no benefit if roaming is disabled, and the demonstrated outcome is inheritance of an existing authorized session rather than minting a session from nothing. No user interaction or authentication is needed once these conditions hold. IPv6/NDP exploitation was not separately tested by the vendor.

Impact

This is a moderate, conditionally-exploitable issue rather than a top-tier emergency. The CVSS 4.0 vector (AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N, score 5.3) is internally consistent with the mechanism: exploitation requires Layer-2 adjacency (AV:A), is low-complexity, needs no authentication (PR:N) and no user interaction, and yields only low confidentiality and low integrity impact (unauthorized portal access and traffic/quota misattribution - not code execution or data compromise). No KEV listing is present, so this is NOT confirmed actively exploited. No EPSS score was supplied, so statistical exploitation likelihood cannot be quantified from the input. A public research write-up (abraxaslabs.tech) and a VulnCheck advisory are referenced, but the input does not mark a confirmed working PoC; a public PoC reference exists, but it is not verified as working exploit code. No SSVC exploitation/automatable/technical-impact decomposition was provided - only the vuln.today 'this_month' priority label, which aligns with a patch-this-cycle posture rather than act_now/emergency. The practical risk ceiling is bounded by two hard limits: the attacker must be on the same broadcast domain, and the captive portal 'roaming' feature must be enabled. Net: a credible insider/guest-network threat worth patching on a normal cycle, not a remotely-exploitable internet-facing critical.

Exploit ScenarioDerived

On a guest or hotspot network where OPNsense captive portal roaming is enabled, an unauthenticated attacker sharing the same Layer-2 segment sends forged gratuitous ARP replies that bind the attacker's own IP to the MAC address of an already-authorized client. At the next captive portal background synchronization, OPNsense copies the attacker's IP into the victim's session and PF authorization table, granting the attacker portal access with network usage and quotas attributed to the victim. A public research write-up describes this technique; the input does not confirm packaged working exploit code.

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

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

Alert me

AnalysisAIv1 – Oct 30, 2026

Captive portal session takeover in OPNsense core allows an unauthenticated attacker sharing a Layer-2 segment with portal clients to inherit an already authorized victim session by forging gratuitous ARP replies that claim the attacker's own IP address belongs to the victim's MAC. The flaw only matters where captive portal roaming is enabled on the zone and a legitimate authorized session already exists; the demonstrated outcome is unauthorized reuse of that existing session, with traffic and quota attributed to the victim, rather than creation of a session from nothing. Severity is moderate (CVSS 5.3; assessed CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N), there is no CISA KEV listing, but a public vendor advisory and an independent technical write-up with reproduction steps are available, and fixes are published in OPNsense 26.7.3 and 26.4.2p1.

RemediationAI

Vendor-released patch: upgrade OPNsense core to 26.7.3 (or 26.4.2p1 on the 26.4 branch), which contains commits f46836d0c3d14e26d79214009bfbfa9a1eecab55 and 32dc2a3e52eefef5251077f315a0f3243eedb834; details are in advisory https://github.com/opnsense/core/security/advisories/GHSA-864r-q4j5-5mjq. If upgrading immediately is not possible, disable roaming on every captive portal zone (roaming = 0), which removes the attack path entirely because additional observed addresses are no longer merged into authorized sessions - the trade-off is that legitimate clients whose traffic arrives from more than one address lose the automatic session extension and may be forced to re-authenticate. The upstream fix additionally caps roaming expansion to a single IPv4 address plus IPv6 addresses, so environments that still need multi-address roaming should prioritize patching over relying on the configuration workaround. Because exploitation is confined to hosts on the same Layer-2 broadcast segment as portal clients, reducing that adjacency for untrusted devices limits exposure, but the vendor patch is the complete fix.

Affected VersionsENISA

core 26.1.6 ≤26.7.7

Affected Packages

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

OPNsense's captive portal backend (src/opnsense/scripts/captiveportal/cp-background-process.py) periodically reconciles each session's authorized address set by calling arp.get_all_addresses_by_mac() for the session's MAC and, when roaming is enabled, merging every newly observed address into the session via update_roaming_ips() before pushing the expanded set into the PF/IPFW authorization tables with _add_client(). Those MAC-to-IP observations come from the hostwatch-backed list_hosts.py channel (packet-level ARP/NDP observation) rather than the kernel ARP table, and they are completely unauthenticated - any adjacent host can assert that an arbitrary IP is at a given MAC. The result is a CWE-290 authentication-bypass-by-spoofing problem (the advisory additionally classifies it under CWE-345 insufficient verification of data authenticity and CWE-863 incorrect authorization): discovery data is treated as authorization evidence, so an IP inherits an authorized portal session without ownership ever being verified. The upstream commit f46836d0c3d14e26d79214009bfbfa9a1eecab55 introduces a _filter_addresses() helper that, when roaming is enabled, retains only the first observed IPv4 address plus any IPv6 addresses, collapsing the multi-IPv4 expansion path that the attack abuses. Testing by the researcher used forged IPv4 gratuitous ARP and an anonymous authorized victim session; IPv6 NDP exploitation was not separately tested, so the IPv6 dimension of the flaw is unverified.

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Layer-2-adjacent (AV:A) forged-ARP trigger needs no auth or interaction (PR:N/UI:N/AC:L); impact is limited to unauthorized portal access and quota misattribution, so C:L/I:L/A:N.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

OPNsense core 26.1.6 through 26.7.7 contains an authentication bypass vulnerability in the captive portal roaming feature that lets unauthenticated attackers hijack authorized client sessions by spoofing unauthenticated MAC-to-IP observations. Attackers on the same Layer-2 segment can send forged gratuitous ARP replies binding their IP to a victim's MAC, gaining portal access with traffic attributed to the victim.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Medium
popular open-source firewall/router OS, but affected captive-portal roaming is an optional feature
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.3%
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
Controlled
Automatable
No
Human Impact· derived
Medium
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

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2023-39004 CRITICAL POC
9.8 Aug 09

Insecure permissions in the configuration directory (/conf/) of OPNsense Community Edition before 23.7 and Business Edit

CVE-2023-27152 CRITICAL POC
9.8 Oct 23

DECISO OPNsense 23.1 does not impose rate limits for authentication, allowing attackers to perform a brute-force attack

CVE-2023-39008 CRITICAL POC
9.8 Aug 09

A command injection vulnerability in the component /api/cron/settings/setJob/ of OPNsense Community Edition before 23.7

CVE-2023-39001 CRITICAL POC
9.8 Aug 09

A command injection vulnerability in the component diag_backup.php of OPNsense Community Edition before 23.7 and Busines

CVE-2023-39007 CRITICAL POC
9.6 Aug 09

/ui/cron/item/open in the Cron component of OPNsense Community Edition before 23.7 and Business Edition before 23.4.2 al

CVE-2023-39003 HIGH POC
7.5 Aug 09

OPNsense Community Edition before 23.7 and Business Edition before 23.4.2 was discovered to contain insecure permissions

CVE-2023-39005 HIGH POC
7.5 Aug 09

Insecure permissions exist for configd.socket in OPNsense Community Edition before 23.7 and Business Edition before 23.4

CVE-2023-38997 HIGH POC
7.2 Aug 09

A directory traversal vulnerability in the Captive Portal templates of OPNsense Community Edition before 23.7 and Busine

CVE-2023-38999 MEDIUM POC
6.5 Aug 09

A Cross-Site Request Forgery (CSRF) in the System Halt API (/system/halt) of OPNsense Community Edition before 23.7 and

CVE-2019-25373 MEDIUM POC
6.4 Feb 15

OPNsense 19.1 contains a stored cross-site scripting vulnerability that allows authenticated attackers to inject malicio

CVE-2019-25369 MEDIUM POC
6.4 Feb 15

OPNsense 19.1 contains a stored cross-site scripting vulnerability in the system_advanced_sysctl.php endpoint that allow

CVE-2019-25372 MEDIUM POC
6.1 Feb 15

OPNsense 19.1 contains a reflected cross-site scripting vulnerability that allows unauthenticated attackers to inject ma

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