7.8

CVE-2025-38076

alloc_tag: allocate percpu counters for module tags dynamically

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

alloc_tag: allocate percpu counters for module tags dynamically

When a module gets unloaded it checks whether any of its tags are still in
use and if so, we keep the memory containing module's allocation tags
alive until all tags are unused.  However percpu counters referenced by
the tags are freed by free_module().  This will lead to UAF if the memory
allocated by a module is accessed after module was unloaded.

To fix this we allocate percpu counters for module allocation tags
dynamically and we keep it alive for tags which are still in use after
module unloading.  This also removes the requirement of a larger
PERCPU_MODULE_RESERVE when memory allocation profiling is enabled because
percpu memory for counters does not need to be reserved anymore.
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
Linux ≫ Linux Kernel Version >= 6.13 < 6.14.9
Linux ≫ Linux Kernel Version 6.15 Update rc1
Linux ≫ Linux Kernel Version 6.15 Update rc2
Linux ≫ Linux Kernel Version 6.15 Update rc3
Linux ≫ Linux Kernel Version 6.15 Update rc4
Linux ≫ Linux Kernel Version 6.15 Update rc5
Linux ≫ Linux Kernel Version 6.15 Update rc6
Linux ≫ Linux Kernel Version 6.15 Update rc7
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.16% 0.052
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
NIST 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-416 Use After Free

The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.

https://git.kernel.org/stable/c/3cc733e6d96c938d2b82be96858a0ab900eb6fdc
Patch
https://git.kernel.org/stable/c/12ca42c237756182aad8ab04654c952765cb9061
Patch