CVE-2025-21902: acpi: typec: ucsi: Introduce a ->poll_cci method

Published Apr 1, 2025
·
Updated

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

acpi: typec: ucsi: Introduce a ->pollcci method

For the ACPI backend of UCSI the UCSI "registers" are just a memory copy of the register values in an opregion. The ACPI implementation in the BIOS ensures that the opregion contents are synced to the embedded controller and it ensures that the registers (in particular CCI) are synced back to the opregion on notifications. While there is an ACPI call that syncs the actual registers to the opregion there is rarely a need to do this and on some ACPI implementations it actually breaks in various interesting ways.

The only reason to force a sync from the embedded controller is to poll CCI while notifications are disabled. Only the ucsi core knows if this is the case and guessing based on the current command is suboptimal, i.e. leading to the following spurious assertion splat:

WARNING: CPU: 3 PID: 76 at drivers/usb/typec/ucsi/ucsi.c:1388 ucsiresetppm+0x1b4/0x1c0 [typecucsi] CPU: 3 UID: 0 PID: 76 Comm: kworker/3:0 Not tainted 6.12.11-200.fc41.x8664 #1 Hardware name: LENOVO 21D0/LNVNB161216, BIOS J6CN45WW 03/17/2023 Workqueue: eventslong ucsiinitwork [typecucsi] RIP: 0010:ucsiresetppm+0x1b4/0x1c0 [typecucsi] Call Trace: <TASK> ucsiinitwork+0x3c/0xac0 [typecucsi] processonework+0x179/0x330 workerthread+0x252/0x390 kthread+0xd2/0x100 retfromfork+0x34/0x50 retfromforkasm+0x1a/0x30 </TASK>

Thus introduce a ->pollcci() method that works like ->readcci() with an additional forced sync and document that this should be used when polling with notifications disabled. For all other backends that presumably don't have this issue use the same implementation for both methods.

Affected Software

9 affected componentsFixes available
Linux Foundation Linux Kernel
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.25-16.12.27-1
Linux Linux kernel>=6.12.5<6.12.19
Linux Linux kernel>=6.13<6.13.7
Linux Linux kernel=6.14-rc1
Linux Linux kernel=6.14-rc2
Linux Linux kernel=6.14-rc3
Linux Linux kernel=6.14-rc4
Linux Linux kernel=6.14-rc5

Event History

Apr 1, 2025
CVE Published
via MITRE·03:40 PM
Data Sourced
via MITRE·03:40 PM
Description
Data Sourced
via NVD·04:15 PM
Description
Data Sourced
via NVD·04:15 PM
RemedySeverityAffected Software
May 10, 2025
Data Sourced
via Ubuntu·02:17 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2025-21902?

CVE-2025-21902 has been assessed as a moderate severity vulnerability in the Linux kernel.

2

What versions of the Linux kernel are affected by CVE-2025-21902?

CVE-2025-21902 affects multiple versions of the Linux kernel, specifically those prior to the patched releases.

3

How do I fix CVE-2025-21902?

To mitigate CVE-2025-21902, update to the fixed versions of the Linux kernel such as 5.10.223-1, 5.10.234-1, 6.1.129-1, 6.1.135-1, or 6.12.25-1.

4

What systems are impacted by CVE-2025-21902?

CVE-2025-21902 primarily affects systems running affected versions of the Linux kernel.

5

What could happen if CVE-2025-21902 is exploited?

Exploitation of CVE-2025-21902 could potentially lead to unauthorized access or system instability.

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