CVE-2026-63942CWE-362

CVE-2026-63942

High · published July 19, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

parport: Fix race between port and client registration

The parport subsystem registers port devices before they are fully

initialised, resulting in a race condition where client drivers such

as lp can attach to ports that are not completely initialised or even

being torn down.

When the port and client drivers are built as modules and loaded

around the same time during boot, this occasionally results in a

crash. I was able to make this happen reliably in a VM with a

PC-style parallel port by patching parport_pc to fail probing:

> --- a/drivers/parport/parport_pc.c

> +++ b/drivers/parport/parport_pc.c

> @@ -2069,7 +2069,7 @@ static struct parport *__parport_pc_probe_port(unsigned long int base,

> if (!p)

> goto out3;

>

> - base_res = request_region(base, 3, p->name);

> + base_res = NULL;

> if (!base_res)

> goto out4;

>

and then running:

while true; do

modprobe lp & modprobe parport_pc

wait

rmmod lp parport_pc

done

for a few seconds.

In the long term I think port registration should be changed to put

the call to device_add() inside parport_announce_port(), but since the

latter currently cannot fail this will require changing all port

drivers.

For now, add a flag to indicate whether a port has been "announced"

and only try to attach client drivers to ports when the flag is set.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00130 · 2.4th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2026-07-19T20:17Z
References (8)
EPSS history
Timeline
  • 19 JUL 14:55Z
    parport: Fix race between port and client registration
    cvelistv5