audit: fix exe mark UAF in kill_rules() (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.17 % · percentile 6 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Received
Description
In the Linux kernel, the following vulnerability has been resolved: audit: fix exe mark UAF in kill_rules() kill_rules() removes mixed AUDIT_DIR and AUDIT_EXE rules when an audit tree is pruned. It drops entry->rule.exe before removing the rule from the RCU-visible filter lists. After a rule has been installed with AUDIT_ADD_RULE, which requires CAP_AUDIT_CONTROL, removing the watched directory can race with another task that is still evaluating the rule. In that case, fsnotify can free the executable mark before the reader reaches audit_mark_compare(), causing a use-after-free. KASAN reports: BUG: KASAN: slab-use-after-free in audit_mark_compare+0x8d/0xa0 Unlink the published rules from the RCU-visible lists and retain them on tree->rules for cleanup. If any rule has an executable mark, wait for a single RCU grace period before removing the marks and scheduling the entries for freeing. Otherwise, call_rcu() already provides the required deferred freeing without a synchronous wait.
References
- https://git.kernel.org/stable/c/8d9c97fb262067933ff4452db19e692d26622352
- https://git.kernel.org/stable/c/11715656540360906235d724fde5349631425073
- https://git.kernel.org/stable/c/0afb9202c1fb88387d0577524bf9785664bdd802
- https://git.kernel.org/stable/c/9aee3caeff4dd4126d84f67607b95cec8719b867
- https://git.kernel.org/stable/c/304960900991157e6883bdf0b39782b690545ee8
- https://git.kernel.org/stable/c/88633025f20ba9c32ccdb3efc86eafdf98cb825c
- https://git.kernel.org/stable/c/f2cc5462b78559c7628a9f8ac9a9592e7783183a
- https://git.kernel.org/stable/c/aa650d87a498844060eecb1d336f4d46f4d1b0b3
European references
- ENISA EUVD · EUVD-2026-103802
- GCVE · GCVE-0-2026-98862
CERT-FR advisories
- CERTFR-2026-AVI-1375 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 34d99af52ad40bd498ba66970579a5bc1fb1a3bc < 8d9c97fb262067933ff4452db19e692d26622352 ; affected 34d99af52ad40bd498ba66970579a5bc1fb1a3bc < 11715656540360906235d724fde5349631425073 ; affected 34d99af52ad40bd498ba66970579a5bc1fb1a3bc < 0afb9202c1fb88387d0577524bf9785664bdd802 ; affected 34d99af52ad40bd498ba66970579a5bc1fb1a3bc < 9aee3caeff4dd4126d84f67607b95cec8719b867 ; affected 34d99af52ad40bd498ba66970579a5bc1fb1a3bc < 304960900991157e6883bdf0b39782b690545ee8 ; affected 34d99af52ad40bd498ba66970579a5bc1fb1a3bc < 88633025f20ba9c32ccdb3efc86eafdf98cb825c |
| Linux · Linux | affected 4.3 ; unaffected 0 < 4.3 ; unaffected 5.10.273 ≤ 5.10.* ; unaffected 5.15.224 ≤ 5.15.* ; unaffected 6.1.191 ≤ 6.1.* ; unaffected 6.6.160 ≤ 6.6.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |