
Analyse détaillée et preuve de concept pour CVE-2023-46870, une élévation de privilèges locale dans Nordic Semiconductor nRF Sniffer pour Bluetooth LE due à des permissions de fichiers non sécurisées, y compris les étapes de réplication et l'atténuation.
Les versions 3.0.0, 3.1.0, 4.0.0, 4.1.0 et 4.1.1 de Nordic Semiconductor nRF Sniffer for Bluetooth LE ont des permissions de fichiers incorrectes, ce qui permet aux adversaires d'effectuer une escalade de privilèges et une exécution de code en modifiant les scripts bash et python.
Mots-clés : Élévation de privilèges locale (LPE), Exécution de code
Plateforme affectée : Linux, MacOS
Fichiers affectés : extcap/nrf_sniffer_ble.py, extcap/nrf_sniffer_ble.sh, extcap/SnifferAPI/*.py
nRF Sniffer for Bluetooth LE est une extension Wireshark qui permet d'utiliser une clé nRF52840 et un kit de développement pour effectuer la capture et l'analyse de paquets.
YouTube Video La vidéo a été enregistrée lorsque j'avais le Covid-19, désolé pour le discours lent.
CVSS:3.0 7.3 Élevé Vector: AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
En raison de ce problème de permissions, les fichiers extraits sont configurés pour permettre aux groupes et aux autres de modifier (permissions définies sur 777 et 666). Cela permet à tout programme ou utilisateur malveillant, même sans privilèges sudo ou root, de modifier les scripts bash et python, ce qui peut conduire à une exécution de code lorsqu'un autre utilisateur lance Wireshark. Étant donné que Wireshark charge toujours les extensions du répertoire extcap, que l'utilisateur légitime ait l'intention d'utiliser ou non le "nRF Sniffer for Bluetooth LE", le code sera toujours exécuté.
Corrigez manuellement les permissions des fichiers à 500 ou 400. Par exemple, sur macOS :
chmod 500 ~/.config/wireshark/extcap/nrf_sniffer_ble.sh
chmod 400 ~/.config/wireshark/extcap/SnifferAPI/*