USB Type-C UCSI PDO Retrieval Vulnerability in Linux Kernel

Kernel Updated 02 Oct 2025

Summary

31/05/2021
N/A
No i
Unrated
Not published

GSD-2021-1000194: usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4. Affects Kernel versions >= 992a60ed0d5e312ce9a485c9e12097ac82ae4b3e, < 5e9c6f58b01e6fdfbc740390c01f542a35c97e57. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The Linux Kernel is a widely used open-source operating system kernel that serves as the foundation for various Linux distributions. It provides core functionality and interfaces for hardware devices, including USB Type-C controllers. USB Type-C Unified Security Interface (UCSI) is a standard that allows communication between USB Type-C controllers and system software. The UCSI driver in the Linux Kernel is responsible for managing USB Type-C functionality. However, a vulnerability exists in the UCSI driver that affects the retrieval of Power Delivery Objects (PDOs) from USB Type-C devices.

Vulnerability Detail

The UCSI driver in the Linux Kernel only retrieves the first four PDOs from USB Type-C devices, potentially leaving out important power capabilities and configurations. This limitation can lead to incorrect power management decisions by the system, resulting in unexpected behavior or even security risks. An attacker could exploit this vulnerability to manipulate power negotiation and potentially cause system instability or gain unauthorized access. The vulnerability was introduced in Linux Kernel version 5.8 and has been fixed in version 5.12.5.

How To Fix

No fixed version is published for this vulnerability.

To fix this vulnerability, it is recommended to update the Linux Kernel to version 5.12.5 or later. This update includes the necessary changes to the UCSI driver to retrieve all PDOs from USB Type-C devices. Users can obtain the updated kernel from the official Linux Kernel repository or through their respective Linux distribution's package management system.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a temporary workaround, users can manually modify the UCSI driver code to retrieve all PDOs instead of just the first four. However, this requires advanced knowledge of kernel development and is not recommended for inexperienced users. Here is an example code snippet that demonstrates the modification:

// Original code
for (int i = 0; i < 4; i++) {
    // Retrieve PDO
}

// Modified code
for (int i = 0; i < MAX_PDO_COUNT; i++) {
    // Retrieve PDO
}

Conclusion

The USB Type-C UCSI PDO retrieval vulnerability in the Linux Kernel can have significant implications for power management and system security. It is crucial to update to the fixed version of the Linux Kernel (5.12.5 or later) to ensure all PDOs are retrieved correctly. If you have further questions or need assistance with vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for Kernel →

Share this vulnerability

FAQ

This vulnerability can lead to incorrect power management decisions, potentially causing system instability or security risks. It could also be exploited by attackers to manipulate power negotiation and gain unauthorized access.

You can use the Vulert Playground at Vulert Scanner to check if your system is affected by this vulnerability. Simply upload your package-lock.json file, and Vulert will analyze it for open-source vulnerabilities, including this USB Type-C UCSI PDO retrieval vulnerability.

Yes, a temporary workaround is to manually modify the UCSI driver code to retrieve all PDOs instead of just the first four. However, this requires advanced knowledge of kernel development and is not recommended for inexperienced users.

Yes, this vulnerability has been fixed in Linux Kernel version 5.12.5. It is recommended to update to this version or later to ensure the UCSI driver retrieves all PDOs correctly.

You can obtain the updated Linux Kernel from the official Linux Kernel repository or through your respective Linux distribution's package management system. Make sure to update to version 5.12.5 or later.

Related vulnerabilities

Recent vulnerabilities recorded for Kernel.

How To Fix

No fixed version is published for this vulnerability.

To fix this vulnerability, it is recommended to update the Linux Kernel to version 5.12.5 or later. This update includes the necessary changes to the UCSI driver to retrieve all PDOs from USB Type-C devices. Users can obtain the updated kernel from the official Linux Kernel repository or through their respective Linux distribution's package management system.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback

Follow Vulert in Google

Get more Vulert vulnerability and dependency-security updates in Google Search and AI results.