CVE-2026-23472
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W jądrze Linux wykryto podatność w sterowniku szeregowym (serial core), która powoduje nieskończoną pętlę w funkcji handle_tx() dla portów typu PORT_UNKNOWN. Funkcja uart_write_room() zwraca wartość większą od zera, podczas gdy uart_write() zwraca 0, gdy buport transmisyjny (xmit_buf) jest niezainicjalizowany, co prowadzi do zakleszczenia systemu.
Ocena ryzyka
Atakujący może wykorzystać tę niespójność do wywołania zawieszenia systemu (DoS) poprzez podłączenie nieprawidłowo skonfigurowanego portu szeregowego, co uniemożliwia działanie systemu.
Rekomendacja
Należy niezwłocznie zaktualizować jądro Linux do wersji zawierającej poprawkę, która synchronizuje zachowanie funkcji uart_write_room() z uart_write() dla portów PORT_UNKNOWN.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: serial: core: fix infinite loop in handle_tx() for PORT_UNKNOWN uart_write_room() and uart_write() behave inconsistently when xmit_buf is NULL (which happens for PORT_UNKNOWN ports that were never properly initialized): - uart_write_room() returns kfifo_avail() which can be > 0 - uart_write() checks xmit_buf and returns 0 if NULL This inconsistency causes an infinite loop in drivers that rely on tty_write_room() to determine if they can write: while (tty_write_room(tty) > 0) { written = tty->ops->write(...); // written is always 0, loop never exits } For example, caif_serial's handle_tx() enters an infinite loop when used with PORT_UNKNOWN serial ports, causing system hangs. Fix by making uart_write_room() also check xmit_buf and return 0 if it's NULL, consistent with uart_write(). Reproducer: https://gist.github.com/mrpre/d9a694cc0e19828ee3bc3b37983fde13

