CVE-2026-71490
HighCVSS 7.1Summary
OPNsense, a FreeBSD-based firewall and routing platform, prior to 26.1.11 mishandles privilege values in ACL::hasPrivilege(). A user directly assigned both a component write privilege and user-config-readonly can be treated as lacking the read-only restriction, allowing MVC APIs to persist configuration changes.
Risk Assessment
A user intended to be read-only can modify component configuration, violating access control assumptions.
Recommendation
Update OPNsense to version 26.1.11 or later.
Other vulnerabilities in OPNsense
See all- CVE-2026-63442High
OPNsense, a FreeBSD-based firewall and routing platform, prior to 26.1.11 allows carriage-return and line-feed characters in the WebGUI login username field. An attacker with network access to the login page can forge authentication events for another IP, adding it to the sshlockout PF table, or reset their own brute-force counter.
- CVE-2026-58395Medium
OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, the safe-delete path reached through ApiMutableModelControllerBase::delBase() interpolates an unvalidated safe-delete token from the request URL into an XPath expression over config.xml before confirming that the token is a valid identifier. A user holding any one affected module privilege can send a crafted token to one of 21 affected delete endpoints covering Traffic Shaper, DHCP relay, Dnsmasq, Firewall Category, or Kea DHCP, causing the XPath to match configuration data across modules. The resulting error response exposes configuration item names, descriptions, reference paths, and UUIDs and provides an XPath substring-presence oracle, including for modules the user cannot otherwise access. The request does not modify configuration or perform a deletion. This issue is fixed in version 26.1.11.
- CVE-2026-58394Medium
OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, src/www/system_advanced_admin.php reads certificate records into $a_cert but omits that array from legacy_html_escape_form_data() before rendering each certificate descr value in the SSL Certificate selector. The certificate description accepts HTML metacharacters, allowing a user with the page-system-certmanager privilege to store markup that executes when another user opens System Settings Administration. This issue is fixed in version 26.1.11.
- CVE-2026-58393Medium
OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, the OpenVPN Client Specific Override common_name field accepts path traversal sequences and openvpn_csc_conf_write() concatenates the value into /var/etc/openvpn-csc/<vpnid>/<common_name> without normalization or a basename check. The affected event handlers are client_connect.php and user_pass_verify.php. An authenticated user with Client Specific Override privileges can store the traversal value, and a matching OpenVPN client-connect or authentication event causes a generated CSO file to be written outside the intended directory. The file content is generated OpenVPN configuration rather than arbitrary bytes, and practical exploitation requires the attacker to cause a matching common name or username to be processed. This issue is fixed in version 26.1.11.
- CVE-2026-58392Medium
OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, the NTP GPS page stores the operator-supplied initcmd value in base64 form, applies legacy_html_escape_form_data() to the encoded string, and then uses base64_decode() to decode the value directly into the GPS initialization-command textarea in src/www/services_ntpd_gps.php. Because decoding occurs after escaping, stored HTML remains unescaped at the output sink. A user with page-services-ntp-gps privilege can store a value that closes the textarea, and script executes in the session of any user who later opens the GPS page. The script can read CSRF material and perform authenticated actions, including actions available to an administrator. This issue is fixed in version 26.1.11.
- CVE-2026-58391Medium
In OPNsense prior to version 26.1.11, Firewall Rules and NAT views place stored category names and alias descriptions into HTML title attributes without quote-safe encoding. The response layer uses ENT_NOQUOTES, so a double quote survives and closes the attribute, allowing an event-handler attribute to be added to the existing span. A user with Firewall Categories or Firewall Alias Edit privileges can store a malicious value that executes script in the session of an administrator opening the affected Rules or NAT page.
- CVE-2026-58390High
In OPNsense before version 26.1.11, the OpenVPN dashboard widget and connection-status view place a client common_name into data-common-name attributes without quote-safe encoding. With username-as-common-name and RADIUS or LDAP authentication, an attacker can inject an event handler and execute script in an administrator's session. Fixed in version 26.1.11.
- CVE-2026-53582High
In OPNsense before version 26.1.10, the Trust module stores attacker-controlled refid values and interpolates them into XPath expressions, allowing a user with CA Manager or Certificate Manager privileges to recover values from config.xml character by character via a boolean refcount oracle. Fixed in version 26.1.10.
- CVE-2026-57155Critical
In OPNsense prior to 26.1.11, the Firewall Alias GeoIP importer uses an unvalidated CSV country_code value to construct output filenames, allowing path traversal. A user with Firewall Alias Edit privilege can supply a crafted archive and write attacker-controlled content as root, then leverage cron to execute commands as root.
- CVE-2026-53581Critical
OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.9 of opnsense/core and version 26.4_20 of BE/opnsense/core, a path traversal vulnerability in the NTP configuration module allows an attacker to overwrite arbitrary files on the system as the root user. By manipulating the GPS or PPS serial port parameter, an attacker with access to the NTP configuration can escape the intended directory and write user-controlled data to any file.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

