
OPNsense 26.7.6 - Alta - Remota - Inyección de línea de configuración - Identidad WLAN WPA
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · opnsense-wlan-wpa-line
Clase: Inyección de línea de configuración Alcance: Remoto
OPNsense core 26.7.6 (a842fe48) - opnsense.org
Residuo de GHSA-fq94. El SSID inalámbrico obtuvo AllowNewlines=N. identity, passphrase y el auth_server_shared_secret de RADIUS permanecieron como TextField sin protección (saltos de línea activados por defecto) y se vuelcan en /var/etc/wpa_supplicant_*.conf y /var/etc/hostapd_*.conf. interfaces.inc interpola identity="{identity}" en la estrofa de wpa_supplicant. Un salto de línea o una comilla de cierre añade directivas adicionales como root. El privilegio es page-interfaces-wireless-edit, no page-all.
| ID | sin CVE todavía |
| Clase | Inyección de línea de configuración |
| Alcance | Remoto (WebGUI autenticada) |
| CWE | CWE-93 |
| CVSS | Alto: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| Producto | OPNsense core (Deciso B.V.) |
| Afectado | OPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) Wlan.xml identity / passphrase |
| Autenticación | Sesión WebGUI con page-interfaces-wireless-edit |
| Licencia | GNU Affero GPL v3.0 |
| Laboratorio | solo 127.0.0.1 |
Fijé la etiqueta 26.7.6. El laboratorio es un gadget PHP de interfaces_wlan_configure fijado, HTTP en loopback sobre 127.0.0.1:18840. El CR/LF en identity escribió la directiva adicional # OPNSENSE-WLAN-WPA-LINE-WITNESS. El SSID permaneció en una sola línea.
| Método | Destino | Privilegio |
|---|---|---|
| identity CR/LF | fijar directiva adicional de interfaces_wlan_configure en la configuración de wpa_supplicant | Integridad (probado en laboratorio): # OPNSENSE-WLAN-WPA-LINE-WITNESS adicional tras identity. Laboratorio: identity-newline=yes extra-directive=yes. |
aceptación de network / ssid / ap_scan / ctrl_interface adicionales | wpa_supplicant / hostapd como root | Integridad (inferido): directivas adicionales del demonio. wpa_supplicant no se inició en el gadget. |
| SSID CR/LF | AllowNewlines=N | Negativo (probado en laboratorio): el SSID permaneció en una sola línea. ssid-control=single-line. |
| passphrase / secreto RADIUS CR/LF | hostapd_*.conf / wpa_supplicant | Integridad (inferido): misma clase. El gadget ejecutó la ruta de identity. |
| directiva adicional inválida | demonios inalámbricos | Disponibilidad (inferido): hostapd / wpa_supplicant pueden fallar al iniciar. |
| esta ruta | ninguna | Reconocimiento: sin lectura adicional de secretos de config.xml. |
Probado en laboratorio vs inferido: la directiva adicional por salto de línea en identity y el control de una sola línea del SSID son ÉXITO en laboratorio. La aplicación en hostapd y demonio en vivo es inferida.
Requiere: page-interfaces-wireless-edit. POST /api/interfaces/wireless_settings/*. No page-all. Token CSRF. El <input type="text"> del navegador no conservará CR/LF; un POST directo desde esa sesión sí lo hará.
| Superficie | Laboratorio |
|---|---|
| Salto de línea en SSID | restringido (ssid-control=single-line) |
| Sin autenticación | cerrado |
Administración inalámbrica page-all | configuración de radio prevista; el residuo son directivas adicionales que un editor delegado no debía poder crear |
| cmdi de puente span CVE-2025-50989 | ahora configdRun sin token de solicitud |
| Claves WEP | escapeshellarg hacia ifconfig |
Sin acceso no autenticado. El SSID ya rechaza CR/LF. El administrador completo ya tiene root por diseño.
cd lab
./run.sh
Loopback 127.0.0.1:18840. Proyecto Compose opnsense-wlan-wpa-line. Testigo OPNSENSE-WLAN-WPA-LINE-WITNESS. Última línea:
SUCCESS opnsense-wlan-wpa-line identity-newline=yes extra-directive=yes ssid-control=single-line OPNSENSE-WLAN-WPA-LINE-WITNESS
Establecer AllowNewlines=N en identity, passphrase y los secretos de RADIUS, igual que en el SSID. Eliminar CR/LF y comillas dentro de interfaces_wlan_configure para cubrir a todos los invocadores. Las directivas adicionales de hostapd / wpa_supplicant pertenecen detrás de page-all.
a842fe48c21288d11a422cb944678e8eb308becfWlan.xmlinterfaces.inc interfaces_wlan_configureAllowNewlines=N