Linux Kernel sc16is7xx Driver GPIO Race Condition Vulnerability

Vulnerability

A race condition vulnerability has been identified in the Linux kernel's sc16is7xx serial driver. The issue arises because the GPIO controller for the sc16is7xx device is initialized too early in the probe process. This premature setup can lead to a situation where another device attempts to use the GPIO lines before the sc16is7xx device has fully initialized. As a result, an 'Oops' error occurs when the GPIO lines are configured, causing a kernel panic. The problem can be traced back to the driver not properly managing the initialization sequence, particularly when handling GPIO functionalities.

Impact

Exploitation of this vulnerability causes a kernel Oops, indicating an attempt to read from an invalid memory address. This type of error can lead to a system crash or instability.

Reproduction

The vulnerability can be reproduced by loading the sc16is7xx driver in a Linux kernel environment where the GPIO controller is needed but not properly initialized. This can be done by configuring a device to use the sc16is7xx driver with GPIO requirements, which will trigger the race condition before the driver has completed its setup.

Remediation

The vulnerability has been addressed in the Linux kernel. Users should upgrade to the latest version where this issue has been fixed.

Added: Dec 24, 2025, 3:16 PM
Updated: Dec 24, 2025, 3:16 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
3.9
remediation
7.7
relevance
1.7
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.