CVE-2025-39724

serial: 8250: fix panic due to PSLVERR

MEDIUM
5.5
CVSS Score
Published: September 5, 2025 at 05:21 PM UTC
Updated: October 19, 2026 at 09:10 PM UTC
6 products affected across 3 vendorsLinux KernelDebian LinuxSIMATIC S7-1500 CPU 1518-4 Pn /dp MFP Firmware

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: serial: 8250: fix panic due to PSLVERR When the PSLVERR_RESP_EN 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 serial8250_do_startup(), calling serial_port_out(port, UART_LCR, UART_LCR_WLEN8) triggers dw8250_check_lcr(), which invokes dw8250_force_idle() and serial8250_clear_and_reinit_fifos(). The latter function enables the FIFO via serial_out(p, UART_FCR, p->fcr). Execution proceeds to the serial_port_in(port, UART_RX). 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 & ~UART_LCR_SPAR) == (lcr & ~UART_LCR_SPAR) in dw8250_check_lcr(), causing it to enter dw8250_force_idle(). Put serial_port_out(port, UART_LCR, UART_LCR_WLEN8) under the port->lock to fix this issue. Panic backtrace: [ 0.442336] Oops - unknown exception [#1] [ 0.442343] epc : dw8250_serial_in32+0x1e/0x4a [ 0.442351] ra : serial8250_do_startup+0x2c8/0x88e ... [ 0.442416] console_on_rootfs+0x26/0x70

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

All versions3.10.48 ≤ v < 3.113.12.24 ≤ v < 5.4.2975.11 ≤ v < 5.15.1905.16 ≤ v < 6.1.1495.5 ≤ v < 5.10.2416.13 ≤ v < 6.16.46.2 ≤ v < 6.6.1036.7 ≤ v < 6.12.442401577586898b3590db80f8b97a26f81f0f6d4e3.10.483.12.243.136d5e79331417886196cb3a733bdb6645ba85bc42c49436b657d0a56a6ad90d14a7c3041add7cf64d
Vendor states this is fixed in 0b882f00655afefbc7729c6b5aec86f7a5473a3d (fixed)
Vendor states this is fixed in 38c0ea484dedb58cb3a4391229933e16be0d1031 (fixed)
Vendor states this is fixed in 68c4613e89f000e8198f9ace643082c697921c9f (fixed)
Vendor states this is fixed in 7f8fdd4dbffc05982b96caf586f77a014b2a9353 (fixed)
Vendor states this is fixed in 8e2739478c164147d0774802008528d9e03fb802 (fixed)
Vendor states this is fixed in b8ca8e3f75ede308b4d49a6ca5081460be01bdb5 (fixed)
Vendor states this is fixed in c826943abf473a3f7260fbadfad65e44db475460 (fixed)
Vendor states this is fixed in cb7b3633ed749db8e56f475f43c960652cbd6882 (fixed)
Affected range stops below 3.11, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 3.13 (unaffected)
Vendor states this is fixed in 5.10.241 (unaffected)
Vendor states this is fixed in 5.15.190 (unaffected)
Vendor states this is fixed in 5.4.297 (unaffected)
Vendor states this is fixed in 6.1.149 (unaffected)
Vendor states this is fixed in 6.12.44 (unaffected)
Vendor states this is fixed in 6.16.4 (unaffected)
Vendor states this is fixed in 6.17 (unaffected)
Vendor states this is fixed in 6.6.103 (unaffected)
v < V5.0
Affected range stops below V5.0, so it looks safe — our inference, not a vendor statement

References (12)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0b882f00655afefbc7729c6b5aec86f7a5473a3d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/38c0ea484dedb58cb3a4391229933e16be0d1031
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/68c4613e89f000e8198f9ace643082c697921c9f
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/7f8fdd4dbffc05982b96caf586f77a014b2a9353
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8e2739478c164147d0774802008528d9e03fb802
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/b8ca8e3f75ede308b4d49a6ca5081460be01bdb5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c826943abf473a3f7260fbadfad65e44db475460
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/cb7b3633ed749db8e56f475f43c960652cbd6882

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card