KernelScan.io

HIGH Introduced in 2.6.38

rtlwifi ProbePath Leak

CVE-2026-90403

CVSS 7.0 / 10.0 NVD

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI2.4LOW

01

In the Linux kernel, the following vulnerability has been resolved: wifi: rtlwifi: pci: fix error path in rtl_pci_probe() In the last error path in rtl_pci_probe(), the cleanup functions are skipped due to a wrong goto label. Moreover, the successful call to rtl_init_rfkill(), ieee80211_register_hw(), rtl_debug_add_one() have to be reverted. Fix this issue by updating the labels and adding the relevant cleanup functions to the last error path.

02

Engine v0.6.0

Risk summary

A Realtek WiFi PCI driver fails to properly clean up already-initialized resources when device probe fails at the IRQ registration step, leaking registered wireless hardware, RF kill switch state, and debug entries. This requires a Realtek WiFi PCI device to be physically present in the system and its initialization to fail at a specific point. The impact is limited to resource leakage with potential for gradual system degradation.

Affecteddrivers/net/wireless/realtek/rtlwifi/pci.c (rtlwifi)

Vulnerability analysis

When a Realtek WiFi PCI device is being initialized and the IRQ handler registration fails, the error cleanup path jumps to the wrong label and skips tearing down components that were already set up earlier in the probe, including the RF kill switch, the registered wireless hardware, and debug entries. This leaves those resources leaked. The fix adds a new error path label that properly unregisters and deinitializes those components before falling through to the remaining cleanup steps. This issue is reachable only on systems with a Realtek WiFi PCI chipset physically installed, and it triggers when that device's initialization fails at the IRQ allocation step — a condition that can arise from a faulty device or exhausted interrupt resources.

03

BranchIntroducedFixed inPatch commit
5.102.6.385.10.2702634998247d2
6.182.6.386.18.52a89818977338
7.22.6.387.2.61b68b6e529ce
mainline2.6.387.3-rc13c2999d13eeb
6.62.6.386.6.157aef178ffae54
6.122.6.386.12.110b42fcfb097da
5.152.6.385.15.221cfd6824dd1d1
6.12.6.386.1.18886e6187f8525
cip/6.122.6.386.12.111-cip32b42fcfb097da