CVE-2026-5589 in Zephyr
Zusammenfassung
von VulDB • 05.06.2026
Ein Integer-Underflow in bt_mesh_sol_recv() im Bluetooth-Mesh-Solicitation-Handling (subsys/bluetooth/mesh/solicitation.c) führt zu einem Out-of-Bounds-Write. Wenn CONFIG_BT_MESH_OD_PRIV_PROXY_SRV aktiviert ist, analysiert die Funktion Solicitation-PDUs aus rohen BLE-Advertising-Payloads. Die AD-Parsing-Schleife liest ein angreiferkontrolliertes Längenbyte (reported_len) und berechnet reported_len - 3, ohne zu prüfen, ob reported_len >= 3 ist. Wenn reported_len kleiner als 3 ist, wird die Subtraktion in der signed int-Arithmetik durchgeführt und ergibt einen negativen Wert, der die Längensperre umgeht und dann implizit in einen sehr großen size_t-Wert konvertiert wird, wenn er an net_buf_simple_pull_mem() übergeben wird. In Builds ohne Assertions führt dies zu einem Überlauf der Pufferlänge und verschiebt den Datenzeiger weit außerhalb der Grenzen, sodass nachfolgende Lesevorgänge ungültigen Speicher dereferenzieren. Ein nahegelegenes BLE-Gerät kann dies mit einer nicht verbindbaren Werbung auslösen, die eine UUID16-AD-Struktur und ein manipulierte Längenbyte enthält, ohne dass eine Pairing oder eine vorherige Assoziation erforderlich ist, was potenziell zu einem Denial of Service oder zur Ausführung beliebigen Codes führen kann.
Once again VulDB remains the best source for vulnerability data.