VULNERABILIDAD
CVE-2026-71490 Evasión de la protección de solo lectura del MVC de OPNsense mediante privilegios separados por comas
Antes de 26.1.11, OPNsense\Core\ACL::hasPrivilege() agrega un valor priv separado por comas asignado directamente como una sola cadena y luego usa comparación exacta al verificar user-config-readonly. Un usuario con un privilegio de escritura de componente y user-config-readonly asignados directamente puede quedar tratado como sin la restricción de solo lectura, y las APIs MVC protegidas por throwReadOnly() pueden persistir cambios de configuración para ese componente.
Alerta de Nureq Monitor
Detectada 15 OCT · 13:17
CVSS 3.1
7.1ALTAPROBABILIDAD DE EXPLOTACIÓN (EPSS)
0,4 % PERCENTIL 31
EXPLOTACIÓN ACTIVA
No confirmada
EXPLOIT PÚBLICO
No conocido
Qué es CVE-2026-71490
Antes de 26.1.11, OPNsense\Core\ACL::hasPrivilege() agrega un valor priv separado por comas asignado directamente como una sola cadena y luego usa comparación exacta al verificar user-config-readonly. Un usuario con un privilegio de escritura de componente y user-config-readonly asignados directamente puede quedar tratado como sin la restricción de solo lectura, y las APIs MVC protegidas por throwReadOnly() pueden persistir cambios de configuración para ese componente.
Productos y versiones afectadas
opnsense core
Qué hacer
- Verificá si usás core y en qué versión: el rango afectado figura arriba.
- Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
- Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.
Calculadora CVSS
CVSS 3.1 · 7.1 ALTA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
- VECTOR DE ATAQUE (AV)
- Red
- COMPLEJIDAD DEL ATAQUE (AC)
- Baja
- PRIVILEGIOS REQUERIDOS (PR)
- Bajos
- INTERACCIÓN DEL USUARIO (UI)
- Ninguna
- ALCANCE (S)
- Sin cambio
- CONFIDENCIALIDAD (C)
- Ninguna
- INTEGRIDAD (I)
- Alta
- DISPONIBILIDAD (A)
- Baja
Abrir la calculadora completa →
Descripción original
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.
Referencias
- github.com/opnsense/core/security/advisories/GHSA-p9pr-782r-w2xwX_REFSOURCE_CONFIRM
- github.com/opnsense/core/commit/578e025111161ffd03fd3fd0ccdac203be546505X_REFSOURCE_MISC
- github.com/opnsense/core/commit/e15a884973746319e79bd2cd421e8a015cc3ddb9X_REFSOURCE_MISC
- github.com/opnsense/core/commit/f674f4ff294a3f7c4cd0591563f6df47bea50034X_REFSOURCE_MISC
Historial de la alerta
- VULNERABILIDAD Nueva vulnerabilidad detectada.
CÓMO SE HIZOResumen traducido automáticamente al español a partir de la descripción original. Ante dudas, la descripción original y las referencias del fabricante son la fuente de verdad. Cómo funciona.