CVE-2026-68332

Summary

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

net: airoha: Fix potential use-after-free in airoha_ppe_deinit()

airoha_ppe_deinit() replaces the NPU pointer with NULL via rcu_replace_pointer() but does not wait for existing RCU readers to exit before calling ppe_deinit() and airoha_npu_put(). This can cause a use-after-free if a reader in an RCU read-side critical section still holds a reference to the NPU when it is freed.

The init path (airoha_ppe_init) already calls synchronize_rcu() after rcu_assign_pointer(), but the deinit path introduced in commit 6abcf751bc08 ("net: airoha: Fix schedule while atomic in airoha_ppe_deinit()") omitted the matching barrier when switching from rcu_read_lock()/rcu_dereference() to rcu_replace_pointer().

Add synchronize_rcu() before ppe_deinit() to ensure all existing RCU readers have completed before the NPU resources are released.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux72f93dc6d1a6b157e0c3d247085c74935893cca0 < 46e3bed4b071095ecc9384a7b349e1908728531faffected
LinuxLinux6abcf751bc084804a9e5b3051442e8a2ce67f48a < ad28c4f9e0eae4993cb3fde3e7cea330acd8b97caffected
LinuxLinux6abcf751bc084804a9e5b3051442e8a2ce67f48a < 2484568a335cd7bda951c75b3a7d95ea36161ae7affected
LinuxLinux6.18.6 < 6.18.42affected
LinuxLinux6.19affected
LinuxLinux0 < 6.19unaffected
LinuxLinux6.18.42 <= 6.18.*unaffected
LinuxLinux7.1.6 <= 7.1.*unaffected
LinuxLinux7.2-rc5 <= *unaffected

Weaknesses

References