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

alloc_tag: fix use-after-free in /proc/allocinfo after module unload

allocinfo_start() only reinitializes the codetag iterator at position 0.
For subsequent reads (position > 0), it reuses cached iterator state from
the previous batch. allocinfo_stop() drops mod_lock between read batches,
which allows module unload to complete and free the module memory that the
cached iterator still references:

CPU0 (read) CPU1 (rmmod)
---- ----
allocinfo_start(pos=0)
down_read(mod_lock)
allocinfo_show()
...
allocinfo_stop()
up_read(mod_lock)
codetag_unload_module()
kfree(cmod)
release_module_tags()
...
free_mod_mem()
allocinfo_start(pos=N)
down_read(mod_lock)
// reuses cached iter, skips re-init
allocinfo_show()
ct->filename <-- UAF

After free_mod_mem() frees the module's .rodata, allocinfo_show()
dereferences ct->filename, ct->function which point there.

Save the iterator state in allocinfo_next() and resume from it in
allocinfo_start() with codetag_next_ct(), which detects module removal via
idr_find() returning NULL and skips to the next module.
Published: 2026-08-15
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel contains a use‑after‑free bug in the /proc/allocinfo interface that is triggered when a module is unloaded while the iterator is still active. The iterator state is cached between reads, and after the module’s memory is freed the reader dereferences pointers that no longer reference valid memory. The official description does not assert that this flaw leads to arbitrary code execution; it could potentially corrupt kernel memory or enable a privilege escalation if a privileged attacker exploits it. The primary impact is thus kernel memory corruption with the possibility of more severe compromise if additional vulnerabilities are chained.

Affected Systems

All Linux kernel releases that have not incorporated the patch referenced in the advisory are potentially vulnerable. No specific version numbers are listed in the CNA data, so any kernel version before the patch commits should be considered at risk.

Risk and Exploitability

The CVSS score of 5.5 indicates a moderate severity, while the EPSS score of < 1% suggests a very low but non‑zero likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is local; an attacker with root or other privileged rights, capable of reading /proc/allocinfo and unloading kernel modules, could trigger the use‑after‑free. Successful exploitation would allow the attacker to corrupt kernel memory, potentially leading to privilege escalation or system instability.

Generated by OpenCVE AI on August 22, 2026 at 06:56 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the patch for CVE‑2026‑72431.
  • If a kernel update cannot be applied immediately, temporarily disable or restrict access to /proc/allocinfo while kernel modules may be unloaded, or avoid performing rmmod operations concurrently with allocations file reads.
  • Apply the specific kernel commit that implements this fix for the use‑after‑free (CWE-825) vulnerability, such as the one referenced in the advisory or vendor patch.

Generated by OpenCVE AI on August 22, 2026 at 06:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 05:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Thu, 20 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Sat, 15 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: alloc_tag: fix use-after-free in /proc/allocinfo after module unload allocinfo_start() only reinitializes the codetag iterator at position 0. For subsequent reads (position > 0), it reuses cached iterator state from the previous batch. allocinfo_stop() drops mod_lock between read batches, which allows module unload to complete and free the module memory that the cached iterator still references: CPU0 (read) CPU1 (rmmod) ---- ---- allocinfo_start(pos=0) down_read(mod_lock) allocinfo_show() ... allocinfo_stop() up_read(mod_lock) codetag_unload_module() kfree(cmod) release_module_tags() ... free_mod_mem() allocinfo_start(pos=N) down_read(mod_lock) // reuses cached iter, skips re-init allocinfo_show() ct->filename <-- UAF After free_mod_mem() frees the module's .rodata, allocinfo_show() dereferences ct->filename, ct->function which point there. Save the iterator state in allocinfo_next() and resume from it in allocinfo_start() with codetag_next_ct(), which detects module removal via idr_find() returning NULL and skips to the next module.
Title alloc_tag: fix use-after-free in /proc/allocinfo after module unload
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:14:31.058Z

Reserved: 2026-08-09T03:40:39.929Z

Link: CVE-2026-72431

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:16.960

Modified: 2026-08-17T06:19:10.443

Link: CVE-2026-72431

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72431 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T07:00:07Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference