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

apparmor: avoid per-cpu hold underflow in aa_get_buffer

When aa_get_buffer() pulls from the per-cpu list it unconditionally
decrements cache->hold. If hold reaches 0 while count is still non-zero,
the unsigned decrement wraps to UINT_MAX. This keeps hold non-zero for a
very long time, so aa_put_buffer() never returns buffers to the global
list, which can starve other CPUs and force repeated kmalloc(aa_g_path_max)
allocations.

Guard the decrement so hold never underflows.
Published: 2026-05-27
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel, the apparmor function aa_get_buffer() reduces a per‑CPU hold counter without checking for underflow. When the counter reaches zero while a buffer is still counted, the unsigned decrement wraps to a very large value, preventing the buffer from returning to the global list. This can cause other CPUs to starve for buffers, forcing repeated kmalloc(aa_g_path_max) allocations and exhausting memory. The weakness is an integer underflow (CWE‑191) that manifests as a denial‑of‑service condition caused by memory exhaustion.

Affected Systems

The vulnerability resides in the Linux kernel’s apparmor subsystem. Version information is not provided in the advisory; therefore, the exact kernel releases affected cannot be specified. The patch appears to be applied uniformly across kernel versions that incorporate the fix, but users should refer to their distribution’s security advisories to determine if their installed kernel includes the correction.

Risk and Exploitability

The flaw is local to the system. Based on the description, it is inferred that exploitation requires the ability to execute code that invokes aa_get_buffer(), which normally occurs during kernel operations for any user process interacting with AppArmor profiles. The EPSS score is < 1% and the vulnerability is not listed in CISA’s KEV catalog, indicating limited public exploitation data. Nonetheless, the risk is significant in environments that rely heavily on AppArmor and may experience immediate denial of service through memory exhaustion once counters underflow.

Generated by OpenCVE AI on May 28, 2026 at 17:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the aa_get_buffer() guard fix.
  • If a kernel upgrade cannot be performed immediately, monitor memory usage and kmalloc(aa_g_path_max) activity, and consider disabling heavy AppArmor profiles until the kernel can be updated.
  • Check your distribution’s security advisory feeds regularly to verify that a patched kernel is available and deploy it as soon as it is released.

Generated by OpenCVE AI on May 28, 2026 at 17:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 28 May 2026 15:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-189
CWE-399

Thu, 28 May 2026 12:15:00 +0000


Wed, 27 May 2026 17:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-189
CWE-399

Wed, 27 May 2026 14:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: apparmor: avoid per-cpu hold underflow in aa_get_buffer When aa_get_buffer() pulls from the per-cpu list it unconditionally decrements cache->hold. If hold reaches 0 while count is still non-zero, the unsigned decrement wraps to UINT_MAX. This keeps hold non-zero for a very long time, so aa_put_buffer() never returns buffers to the global list, which can starve other CPUs and force repeated kmalloc(aa_g_path_max) allocations. Guard the decrement so hold never underflows.
Title apparmor: avoid per-cpu hold underflow in aa_get_buffer
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-05-27T12:16:56.542Z

Reserved: 2026-05-13T15:03:33.082Z

Link: CVE-2026-45884

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-05-27T14:17:02.290

Modified: 2026-05-27T14:48:31.480

Link: CVE-2026-45884

cve-icon Redhat

Severity :

Publid Date: 2026-05-27T00:00:00Z

Links: CVE-2026-45884 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-05-28T17:45:22Z

Weaknesses
  • CWE-191

    Integer Underflow (Wrap or Wraparound)