CVE-2025-38282
Description
In the Linux kernel, the following vulnerability has been resolved: kernfs: Relax constraint in draining guard The active reference lifecycle provides the break/unbreak mechanism but the active reference is not truly active after unbreak -- callers don't use it afterwards but it's important for proper pairing of kn->active counting. Assuming this mechanism is in place, the WARN check in kernfs_should_drain_open_files() is too sensitive -- it may transiently catch those (rightful) callers between kernfs_unbreak_active_protection() and kernfs_put_active() as found out by Chen Ridong: kernfs_remove_by_name_ns kernfs_get_active // active=1 __kernfs_remove // active=0x80000002 kernfs_drain ... wait_event //waiting (active == 0x80000001) kernfs_break_active_protection // active = 0x80000001 // continue kernfs_unbreak_active_protection // active = 0x80000002 ... kernfs_should_drain_open_files // warning occurs kernfs_put_active To avoid the false positives (mind panic_on_warn) remove the check altogether. (This is meant as quick fix, I think active reference break/unbreak may be simplified with larger rework.)
How to fix
- linux linux_kernel6.1.142, 6.6.94, 6.12.34, 6.15.3 or later
- git.kernel.org/stable/c/071d8e4c2a3b0999a9b822e2eb8854784a350f8a
- git.kernel.org/stable/c/2d6a67c2b3b87808a347dc1047b520a9dd177a4f
- git.kernel.org/stable/c/6bfb154f95d5f0ab7ed056f23aba8c1a94cb3927
- git.kernel.org/stable/c/6c81f1c7812c61f187bed1b938f1d2e391d503ab
- git.kernel.org/stable/c/72275c888f8962b406ee9c6885c79bf68cca5a63
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | 6.1 ≤ v < 6.1.142, 6.2 ≤ v < 6.6.94, 6.7 ≤ v < 6.12.34, 6.13 ≤ v < 6.15.3 | 6.1.142, 6.6.94, 6.12.34, 6.15.3 |
| debian debian_linux | 11.0 | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.