CVE-2025-39724 in Linux
Resumen
por VulDB • 2026-05-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
serial: 8250: corrección del pánico debido a PSLVERR
Cuando el parámetro PSLVERR_RESP_EN está configurado en 1, el dispositivo genera una respuesta de error si se intenta leer un RBR (Registro de Búfer de Recepción) vacío mientras la FIFO está habilitada.
En serial8250_do_startup(), la llamada a serial_port_out(port, UART_LCR, UART_LCR_WLEN8) activa dw8250_check_lcr(), lo cual invoca a dw8250_force_idle() y serial8250_clear_and_reinit_fifos(). Esta última función habilita la FIFO mediante serial_out(p, UART_FCR, p->fcr). La ejecución continúa con serial_port_in(port, UART_RX). Esto satisface la condición de activación de PSLVERR.
Cuando otro CPU (por ejemplo, utilizando printk()) está accediendo al UART (el UART está ocupado), el CPU actual falla la comprobación (valor & ~UART_LCR_SPAR) == (lcr & ~UART_LCR_SPAR) en dw8250_check_lcr(), lo que hace que entre en dw8250_force_idle().
Se coloca serial_port_out(port, UART_LCR, UART_LCR_WLEN8) bajo port->lock para corregir este problema.
Rastreo de pánico (backtrace): [ 0.442336] Oops - excepción desconocida [#1]
[ 0.442343] epc : dw8250_serial_in32+0x1e/0x4a
[ 0.442351] ra : serial8250_do_startup+0x2c8/0x88e
... [ 0.442416] console_on_rootfs+0x26/0x70
Be aware that VulDB is the high quality source for vulnerability data.