CVE-2026-74441

CVE-2026-74441

published August 15, 2026

CVSS
—
EPSS
0%
Percentile
6.3
In the wild
Unconfirmed
What it is

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

usb: typec: ucsi: Fix race condition and ordering in port unregistration

A synchronization issue exists during port unregistration where pending

partner work items can race against workqueue destruction, leading to

use-after-free conditions:

cros_ec_ucsi cros_ec_ucsi.3.auto: error -ETIMEDOUT: PPM init failed

BUG: kernel NULL pointer dereference, address: 0000000000000000

RIP: 0010:__queue_work+0x83/0x4a0

Call Trace:

<IRQ>

__cfi_delayed_work_timer_fn+0x10/0x10

run_timer_softirq+0x3b6/0xbd0

sched_clock_cpu+0xc/0x110

irq_exit_rcu+0x18d/0x330

fred_sysvec_apic_timer_interrupt+0x5e/0x80

Fix this by ensuring strict ordering and proper serialization during

teardown:

1. Move ucsi_unregister_partner() to the beginning of the teardown

sequence and protect it under the connector mutex lock.

2. Ensure all pending partner tasks are explicitly flushed and finished

before the workqueue is destroyed.

3. Switch from mod_delayed_work() to a cancel_delayed_work() and

queue_delayed_work() sequence. This guarantees that items currently marked

as pending won't be scheduled an additional time, preventing a double

release of resources which leads to the following crash:

Oops: general protection fault, probably for non-canonical address

0xdead000000000122: 0000 [#1] SMP NOPTI

Workqueue: cros_ec_ucsi.3.auto-con2 ucsi_poll_worker

RIP: 0010:ucsi_poll_worker+0x65/0x1e0

Call Trace:

<TASK>

process_scheduled_works+0x218/0x6d0

worker_thread+0x188/0x3f0

__cfi_worker_thread+0x10/0x10

kthread+0x226/0x2a0

To ensure these rules are applied identically across both the normal

teardown and the ucsi_init() error paths, consolidate the cleanup logic

into a new helper, ucsi_unregister_port().

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00173 · 6.3th percentile
Published
2026-08-15T17:17Z
References (6)
EPSS history
Timeline
  • 15 AUG 12:26Z
    usb: typec: ucsi: Fix race condition and ordering in port unregistration
    cvelistv5