OPNsense core lets users bypass read-only configuration protection
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · High · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-863.
Summary
OPNsense core before 26.1.11 mishandles user privileges assigned directly as comma-separated values, so the read-only check is not applied. A user directly assigned both a component write privilege and user-config-readonly can bypass the restriction and persist configuration changes through MVC APIs protected by throwReadOnly(). Group privileges are not affected. A remote user with low privileges can exploit this (CWE-863).
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
OPNsense is a FreeBSD based firewall and routing platform. Prior to 26.1.11, OPNsense\Core\ACL::hasPrivilege() appends a directly assigned comma-separated <priv> value as one string and then uses an exact comparison when checking user-config-readonly. A user directly assigned both a component write privilege and user-config-readonly can therefore be treated as lacking the read-only restriction, and MVC APIs protected by throwReadOnly() can persist configuration changes for that component. Group privileges are not affected by the same parser flaw because the group path already splits comma-separated values. This issue is fixed in version 26.1.11.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade OPNsense core to version 26.1.11, which fixes this issue.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA core (opnsense) Fixed in 26.1.11
Timeline
- 2026-10-16 Threatist record created from CVE-2026-71490
References
Other 4
- https://github.com/opnsense/core/security/advisories/GHSA-p9pr-782r-w2xw
- https://github.com/opnsense/core/commit/578e025111161ffd03fd3fd0ccdac203be546505
- https://github.com/opnsense/core/commit/e15a884973746319e79bd2cd421e8a015cc3ddb9
- https://github.com/opnsense/core/commit/f674f4ff294a3f7c4cd0591563f6df47bea50034
More opnsense vulnerabilities
- TI-2023-20247 A command injection vulnerability in the component /api/cron/settings/setJob/ of OPNsense… CVSS 3.1CRITICAL 9.8
- TI-2023-20243 Insecure permissions in the configuration directory (/conf/) of OPNsense Community… CVSS 3.1CRITICAL 9.8
- TI-2023-20240 A command injection vulnerability in the component diag_backup.php of OPNsense Community… CVSS 3.1CRITICAL 9.8
- TI-2023-11947 DECISO OPNsense 23.1 does not impose rate limits for authentication, allowing attackers… CVSS 3.1CRITICAL 9.8
- TI-2026-74819 Path traversal in OPNsense GeoIP importer allows root code execution CVSS 3.1CRITICAL 9.9
- TI-2023-20246 /ui/cron/item/open in the Cron component of OPNsense Community Edition before 23.7 and… CVSS 3.1CRITICAL 9.6
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences