
Documentación y pasos de replicación para CVE-2023-46870, una vulnerabilidad de escalada de privilegios local en Nordic Semiconductor nRF Sniffer para Bluetooth LE debido a permisos incorrectos en archivos de scripts bash y Python.
Las versiones 3.0.0, 3.1.0, 4.0.0, 4.1.0 y 4.1.1 del Nordic Semiconductor nRF Sniffer for Bluetooth LE tienen permisos de archivo incorrectos establecidos, lo que permite a adversarios realizar escalada de privilegios y ejecución de código modificando scripts bash y python.
Palabras clave: Escalada de Privilegios Local (LPE), Ejecución de Código
Plataformas afectadas: Linux, MacOS
Archivos afectados: extcap/nrf_sniffer_ble.py, extcap/nrf_sniffer_ble.sh, extcap/SnifferAPI/*.py
nRF Sniffer for Bluetooth LE es una extensión de Wireshark que permite el uso de un dongle nRF52840 y un kit de desarrollo para realizar captura y análisis de paquetes.
Vídeo de YouTube El video fue grabado cuando tenía COVID-19, disculpas por hablar lento.
CVSS:3.0 7.3 Alto Vector: AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Debido a este problema de permisos, los archivos extraídos se configuran para permitir que tanto el grupo como otros usuarios puedan modificarlos (permisos establecidos como 777 y 666). Esto permite que cualquier programa o usuario malicioso, incluso sin permisos sudo o root, modifique los scripts bash y python, lo que potencialmente conduce a la ejecución de código cuando otro usuario inicia Wireshark. Dado que Wireshark siempre carga las extensiones del directorio extcap, independientemente de si el usuario legítimo tiene la intención de usar "nRF Sniffer for Bluetooth LE" o no, el código siempre se ejecutará.
Corregir manualmente los permisos de archivo a 500 o 400. Por ejemplo, en macOS:
chmod 500 ~/.config/wireshark/extcap/nrf_sniffer_ble.sh
chmod 400 ~/.config/wireshark/extcap/SnifferAPI/*