CVE-2026-74441: usb: typec: ucsi: Fix race condition and ordering in port unregistration

Published Aug 15, 2026
·
Updated

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:

crosecucsi crosecucsi.3.auto: error -ETIMEDOUT: PPM init failed BUG: kernel NULL pointer dereference, address: 0000000000000000 RIP: 0010:queuework+0x83/0x4a0 Call Trace: <IRQ> cfidelayedworktimerfn+0x10/0x10 runtimersoftirq+0x3b6/0xbd0 schedclockcpu+0xc/0x110 irqexitrcu+0x18d/0x330 fredsysvecapictimerinterrupt+0x5e/0x80

Fix this by ensuring strict ordering and proper serialization during teardown:

1. Move ucsiunregisterpartner() 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 moddelayedwork() to a canceldelayedwork() and queuedelayedwork() 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: crosecucsi.3.auto-con2 ucsipollworker RIP: 0010:ucsipollworker+0x65/0x1e0 Call Trace: <TASK> processscheduledworks+0x218/0x6d0 workerthread+0x188/0x3f0 cfiworkerthread+0x10/0x10 kthread+0x226/0x2a0

To ensure these rules are applied identically across both the normal teardown and the ucsiinit() error paths, consolidate the cleanup logic into a new helper, ucsiunregisterport().

Event History

Aug 15, 2026
CVE Published
via MITRE·12:26 PM
Data Sourced
via MITRE·12:26 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-74441?

CVE-2026-74441 has a risk rating of 44, indicating a moderate severity level.

2

How do I fix CVE-2026-74441?

To fix CVE-2026-74441, update your Linux kernel to the latest stable release that contains the security patch.

3

What type of vulnerability is CVE-2026-74441?

CVE-2026-74441 is classified as a race condition vulnerability leading to use-after-free and null pointer dereference issues.

4

What systems are affected by CVE-2026-74441?

CVE-2026-74441 affects systems running vulnerable versions of the Linux kernel with USB Type-C UCSI support.

5

When was CVE-2026-74441 published?

CVE-2026-74441 was published on August 15, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203