
Documentazione e passaggi di replica per CVE-2023-46870, una vulnerabilità di escalation dei privilegi locali in Nordic Semiconductor nRF Sniffer per Bluetooth LE a causa di permessi di file errati su script bash e Python.
Nordic Semiconductor nRF Sniffer for Bluetooth LE versioni 3.0.0, 3.1.0, 4.0.0, 4.1.0 e 4.1.1 hanno impostazioni di permessi file errate, che consentono a malintenzionati di eseguire escalation dei privilegi ed esecuzione di codice modificando script bash e python.
Parole chiave: Escalation locale dei privilegi (LPE), Esecuzione di codice
Piattaforma interessata: Linux, MacOS
File interessati: extcap/nrf_sniffer_ble.py, extcap/nrf_sniffer_ble.sh, extcap/SnifferAPI/*.py
nRF Sniffer for Bluetooth LE è un'estensione di Wireshark che consente l'uso di un dongle nRF52840 e di un Development Kit per eseguire la cattura e l'analisi dei pacchetti.
YouTube Video Il video è stato registrato mentre avevo il Covid-19, scusate per la lentezza.
CVSS:3.0 7.3 High Vector: AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
A causa di questo problema di permessi, i file estratti sono impostati per consentire sia al gruppo che agli altri di modificarli (permessi impostati a 777 e 666). Ciò consente a qualsiasi programma o utente malintenzionato, anche senza permessi sudo o root, di modificare gli script bash e python, portando potenzialmente all'esecuzione di codice quando un altro utente avvia Wireshark. Poiché Wireshark carica sempre le estensioni dalla directory extcap, indipendentemente dal fatto che l'utente legittimo intenda utilizzare o meno "nRF Sniffer for Bluetooth LE", il codice verrà sempre eseguito.
Correggere manualmente i permessi dei file a 500 o 400. Ad esempio, su macOS:
chmod 500 ~/.config/wireshark/extcap/nrf_sniffer_ble.sh
chmod 400 ~/.config/wireshark/extcap/SnifferAPI/*