Średni Odebrany

CVE-2026-19938

opublikowano:
modyfikacja:
Ocena CVSS
5.9
Średni · v3.1
wektor: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

Ścieżka transmisji ATT hosta Bluetooth zwalnia bufor, którego nie jest właścicielem, gdy podpisywanie się nie powiedzie. chan_send() w dokumentach subsys/bluetooth/host/att.c (i w każdym innym wyjściu błędu implementuje) kontrakt, zgodnie z którym w przypadku niepowodzenia wywołujący zachowuje własność net_buf; gałąź BT_ATT_OP_SIGNED_WRITE_CMD zamiast tego wywołała net_buf_unref(buf), gdy bt_smp_sign() zwróciła błąd, a następnie zwróciła ten błąd wywołującemu. Osoby wywołujące działają zgodnie z kontraktem: Process_queue() ponownie kolejkuje bufor za pomocą k_queue_prepend(), bt_att_chan_send_rsp() umieszcza go z powrotem na chan->tx_queue, bt_att_chan_req_send() przywraca go do żądania, a att_req_retry() usuwa z niego odwołanie — więc już zwolniony bufor został ponownie umieszczony w kolejce później wyłuskane i ostatecznie ponownie uwolnione.

Polecenie zapisu podpisanego ATT jest generowane, gdy aplikacja wywołuje funkcję bt_gatt_write_without_response_cb() ze znakiem ustawionym dla nieszyfrowanego połączenia. Funkcja bt_smp_sign() kończy się niepowodzeniem, gdy dla partnera nie istnieje żaden lokalny CSRK (-ENOENT), a to, czy taki istnieje, jest negocjowane z partnerem: smp_distribute_keys() przechowuje lokalny CSRK tylko wtedy, gdy pole dystrybucji klucza parującego partnera żąda klucza podpisującego i wiązanie zostało uzgodnione. Partner może zatem sparować bez akceptowania CSRK, sparować z No Bonding, pozostać niesparowany lub pozostawić łącze niezaszyfrowane, a następny podpisany zapis ofiary przejdzie ścieżką, która się nie powiodła. Ponieważ pole węzła struktury net_buf jest jednocześnie słowem łączącym dla FIFO ATT TX, dla listy odroczonego zniszczenia używanej przez wywołanie zwrotne att_poolzniszcz att_tx_destroy() i dla listy wolnych puli źle obsłużony bufor psuje te listy i może zostać ponownie wydany przez bt_att_create_pdu() do nowej jednostki PDU, podczas gdy ścieżka ATT TX nadal ją przechowuje.

Ta sama gałąź zapisał również stan net_buf_simple_state dopiero po podpisaniu, więc bufor przywrócony po niepowodzeniu bt_l2cap_send_pdu() zachował swój 12-oktetowy podpis; kolejna próba spowodowała ponowne podpisanie go i dodanie drugiego podpisu za pomocą net_buf_add(buf, 12) do bufora, którego rozmiar bt_att_create_pdu() wynosił dokładnie dla jednego, zapisując poza końcem zbiorczego bufora w kompilacjach, w których kompilowana jest asercja net_buf tailroom.

Wpływem jest uszkodzenie pamięci po stronie hosta na stosie Bluetooth: uszkodzenie listy, łączony bufor ATT z dwoma właścicielami (przesłana jest niewłaściwa zawartość PDU lub podwójne zwolnienie, gdy kolejki są opróżniane po rozłączeniu) oraz ograniczony zapis poza granicami w ścieżce ponownych prób — zwykle obserwowany jako awaria lub błąd potwierdzenia. Ekspozycja wymaga włączenia przestarzałego CONFIG_BT_SIGNING i aplikacji, która faktycznie wysyła podpisane zapisy; w tej konfiguracji warunek wyzwalania jest kontrolowany przez zdalnego uczestnika.

>_ Słabości (CWE)

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org