
Detaillierte Analyse und Proof-of-Concept für CVE-2023-46870, eine lokale Rechteausweitung in Nordic Semiconductor nRF Sniffer für Bluetooth LE aufgrund unsicherer Dateiberechtigungen, einschließlich Reproduktionsschritten und Gegenmaßnahmen.
Nordic Semiconductor nRF Sniffer for Bluetooth LE versionen 3.0.0, 3.1.0, 4.0.0, 4.1.0 und 4.1.1 haben falsche Dateiberechtigungen gesetzt, was es Angreifern ermöglicht, eine Privilegienausweitung und Codeausführung durchzuführen, indem sie Bash- und Python-Skripte modifizieren.
Stichwörter: Lokale Privilegienausweitung (LPE), Codeausführung
Betroffene Plattform: Linux, MacOS
Betroffene Dateien: extcap/nrf_sniffer_ble.py, extcap/nrf_sniffer_ble.sh, extcap/SnifferAPI/*.py
nRF Sniffer for Bluetooth LE ist eine Wireshark-Erweiterung, die die Verwendung eines nRF52840-Dongles und Development-Kits ermöglicht, um Paketerfassung und -analyse durchzuführen.
YouTube-Video Das Video wurde aufgenommen, als ich Covid-19 hatte, entschuldigen Sie die langsame Sprechweise.
CVSS:3.0 7.3 High Vector: AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Aufgrund dieses Berechtigungsproblems werden die extrahierten Dateien so gesetzt, dass sowohl die Gruppe als auch andere sie modifizieren können (Berechtigungen auf 777 und 666 gesetzt). Dies ermöglicht es jedem schädlichen Programm oder Benutzer, auch ohne sudo- oder root-Berechtigungen, die Bash- und Python-Skripte zu modifizieren, was potenziell zur Codeausführung führen kann, wenn ein anderer Benutzer Wireshark startet. Da Wireshark immer die Erweiterungen aus dem extcap-Verzeichnis lädt, unabhängig davon, ob der legitime Benutzer beabsichtigt, den "nRF Sniffer for Bluetooth LE" zu verwenden oder nicht, wird der Code immer ausgeführt.
Korrigieren Sie die Dateiberechtigungen manuell auf 500 oder 400. Zum Beispiel unter macOS:
chmod 500 ~/.config/wireshark/extcap/nrf_sniffer_ble.sh
chmod 400 ~/.config/wireshark/extcap/SnifferAPI/*