CVE-2025-39724: serial: 8250: fix panic due to PSLVERR
In the Linux kernel, the following vulnerability has been resolved:
serial: 8250: fix panic due to PSLVERR
When the PSLVERRRESPEN parameter is set to 1, the device generates an error response if an attempt is made to read an empty RBR (Receive Buffer Register) while the FIFO is enabled.
In serial8250dostartup(), calling serialportout(port, UARTLCR, UARTLCRWLEN8) triggers dw8250checklcr(), which invokes dw8250forceidle() and serial8250clearandreinitfifos(). The latter function enables the FIFO via serialout(p, UARTFCR, p->fcr). Execution proceeds to the serialportin(port, UARTRX). This satisfies the PSLVERR trigger condition.
When another CPU (e.g., using printk()) is accessing the UART (UART is busy), the current CPU fails the check (value & ~UARTLCRSPAR) == (lcr & ~UARTLCRSPAR) in dw8250checklcr(), causing it to enter dw8250forceidle().
Put serialportout(port, UARTLCR, UARTLCRWLEN8) under the port->lock to fix this issue.
Panic backtrace: [ 0.442336] Oops - unknown exception [#1] [ 0.442343] epc : dw8250serialin32+0x1e/0x4a [ 0.442351] ra : serial8250dostartup+0x2c8/0x88e ... [ 0.442416] consoleonrootfs+0x26/0x70
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Fix the panic by ensuring the call to serial_port_out(port, UART_LCR, UART_LCR_WLEN8) in serial8250_do_startup() is performed while holding port->lock.
Linux kernel serial driver (8250 / dw8250) Put serial_port_out(port, UART_LCR, UART_LCR_WLEN8) under the port->lock = locked
Event History
Frequently Asked Questions
What is the severity of CVE-2025-39724?
CVE-2025-39724 is considered a high severity vulnerability due to its potential to cause system crashes.
How do I fix CVE-2025-39724?
To fix CVE-2025-39724, update to the latest version of the Linux kernel where this vulnerability has been patched.
What systems are affected by CVE-2025-39724?
CVE-2025-39724 affects systems running vulnerable versions of the Linux kernel utilizing the 8250 serial driver.
Is CVE-2025-39724 exploitable remotely?
CVE-2025-39724 is not considered to be remotely exploitable, as it requires local access to the affected system.
What is the impact of not addressing CVE-2025-39724?
Failure to address CVE-2025-39724 may lead to system instability and potential crashes when interacting with the affected serial devices.