Linux Kernel Virtuser GPIO Lookup Table Cleanup Vulnerability

Vulnerability

A vulnerability in the Linux kernel's GPIO virtuser implementation has been addressed. When a virtuser device is created through configfs and the probing fails due to an incorrect lookup table, the table is not properly removed. This oversight hinders subsequent probing attempts, even after the issue is fixed, unless the device is manually released. Additionally, cleanup is required in the rare event of a platform_device_register_full() failure. This vulnerability also caused a consistent memory leak in the lookup_table->dev_id, which was detected by kmemleak by alternating the live state with a correct lookup table. The introduced function gpio_virtuser_remove_lookup_table() serves as a counterpart to gpio_virtuser_make_lookup_table(), ensuring proper cleanup by being called from all necessary points.

Impact

The vulnerability could lead to a memory leak and improper handling of GPIO virtuser devices, causing failed probe attempts and potentially allowing for resource exhaustion.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
4.0
remediation
0.0
relevance
0.0
threat
3.2
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.