Descripción
OPNsense es una plataforma de firewall y enrutamiento basada en FreeBSD. En versiones anteriores a 26.1.11, las rutas process_zip() y process_gzip() del importador GeoIP de Firewall Alias en src/opnsense/scripts/filter/lib/alias/geoip.py usan un valor country_code de CSV sin validar para construir nombres de archivo de salida bajo /usr/local/share/GeoIP/alias. Un usuario con el privilegio Firewall Alias Edit puede configurar una URL de origen GeoIP controlada por el atacante y proporcionar un archivo comprimido cuyo código de país recorra hacia otro directorio existente, lo que provoca que contenido controlado por el atacante se escriba como root con el sufijo -IPv4 o -IPv6. Un fragmento de newsyslog especialmente manipulado y un archivo de registro de tamaño excesivo pueden aprovechar la tarea cron predeterminada que se ejecuta cada hora como root para ejecutar comandos como root, lo que resulta en el compromiso total del firewall. Este problema está corregido en la versión 26.1.11.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- core Afectadas: < 26.1.11
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en github.comgithub.com/opnsense/core/security/advisories/GHSA-wjqq-rfmm-v5h3
- Referencia en github.comgithub.com/opnsense/core/commit/c46aced9c47d956167e294911113bc334fea5…
- Referencia en github.comgithub.com/opnsense/core/commit/e7fbfaa7f5e070da667e3f243da11fd3d4b73…
- Referencia en hackerask.comhackerask.com/posts/opnsense
Ver el texto original en inglés (CVE.org)
OPNsense: Root RCE via Arbitrary File Write in GeoIP Alias Importer
OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, the Firewall Alias GeoIP importer's process_zip() and process_gzip() paths in src/opnsense/scripts/filter/lib/alias/geoip.py use an unvalidated CSV country_code value to construct output filenames below /usr/local/share/GeoIP/alias. A user with Firewall Alias Edit privilege can configure an attacker-controlled GeoIP source URL and supply an archive whose country code traverses into another existing directory, causing attacker-controlled content to be written as root with an -IPv4 or -IPv6 suffix. A crafted newsyslog fragment and oversized log file can use the default hourly root cron job to execute commands as root, resulting in complete firewall compromise. This issue is fixed in version 26.1.11.