Security incident · GHSA-864r-q4j5-5mjq
Captive Portal roaming authorizes attacker-controlled IPs through forged ARP bindings
Published Aug 26, 2026 · catalog updated Aug 26, 2026 · Captive Portal roaming authorizes
Last checked Nov 2, 2026. A connected source was read within the last 7 days.
Open the advisory
Exploitation likelihood is not on this record for GHSA-864r-q4j5-5mjq. A missing EPSS score is not a low risk. Compare Captive Portal roaming authorizes with the linked advisory before you change production.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (Captive Portal roaming authorizes).
- No version range is stored. A customer cannot check an installed version against this record.
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- EPSS is missing. A missing score is not a low risk.
- Severity
- Medium5.4
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- Awaiting synchronization with FIRST
- Remediation
- Not established
- Affected products
- See sources for product scope
## Summary OPNsense Captive Portal’s roaming feature adds every IP address observed for an authorized client’s MAC address to that client’s portal session. An unauthenticated attacker on the same Layer-2 network can send forged gratuitous ARP replies that associate the attacker’s own IP address with the MAC address of an authorized victim. During the next Captive Portal background synchronization, OPNsense adds the attacker-controlled IP to the victim’s session and to the Captive Portal PF authorization table. As a result, the attacker’s IP inherits the victim session’s portal access without independently completing the portal authorization process. The issue was confirmed on OPNsense 26.7.1_1. ## Reproduction A Captive Portal zone was configured with roaming enabled: An authorized victim session existed with: Before the attack, the Captive Portal PF table contained only the victim IP: An unauthenticated attacker sent four gratuitous ARP replies claiming: After the next Captive Portal background synchronization, the PF table contained: The table also associated with the same session ID as the victim. The forged address was obtained through the hostwatch-backed channel. The normal kernel ARP table did not contain the forged entry. ## Root cause The Captive Portal background process retrieves every IP address observed for the session’s MAC address: When roaming is enabled, those addresses are added to the existing session: The resulting address set is then added to the PF and IPFW authorization state: The problem is that ARP and hostwatch observations are not authenticated. Any adjacent host can claim that its IP belongs to another device’s MAC address. OPNsense nevertheless treats this unauthenticated claim as sufficient evidence to extend an already authorized portal session. ## Security impact An unauthenticated Layer-2-adjacent attacker can attach its own IP address to another client’s authorized Captive Portal session. This can result in: - Unauthorized portal ac
No affected version ranges are stored yet. Use the vendor advisory before you decide this record does not apply.
How to fix GHSA-864r-q4j5-5mjq
No stored fix
No vendor fix text is stored. Use the linked advisory before you change production.
Version check
No version range is stored, so an installed version cannot be checked on this page.
Advisory
Open the inventory_github record and follow its fix.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
Exploitation likelihood is not on this record for GHSA-864r-q4j5-5mjq. A missing EPSS score is not a low risk. Compare Captive Portal roaming authorizes with the linked advisory before you change production.
Which versions are affected?
Affected version ranges are not on this record. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-345: Insufficient Verification of Data Authenticity; CWE-863: Incorrect Authorization. EPSS is not on this record yet. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Technology hubs
Code
The project this record applies to. Exploit listings stay in References.
No public source repository is identified for this product.
Timeline
Detection, updates, and resolution for this record.
Aug 26, 2026 · Maintainer security tabs
Detected
## Summary OPNsense Captive Portal’s roaming feature adds every IP address observed for an authorized client’s MAC address to that client’s portal session. An unauthenticated attacker on the same Layer-2 network can send forged gratuitous ARP replies that associate the attacker’s own IP address with the MAC address of an authorized victim. During the next Captive Portal background synchronization,
Sources
- Maintainer security tabsVendor advisoryGHSA-864r-q4j5-5mjq
## Summary OPNsense Captive Portal’s roaming feature adds every IP address observed for an authorized client’s MAC address to that client’s portal session. An unauthenticated attacker on the same Layer-2 network can send forged gratuitous ARP replies that associate the attacker’s own IP address with the MAC address of an authorized victim. During the next Captive Portal background synchronization,
github.com
Freshness
Last verified in this catalog Aug 26, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.
- Maintainer security tabsNov 2, 2026