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

KVM: s390: pci: Fix memory accounting for pinned/unpinned pages

The account_mem() and unaccount_mem() functions call get_uid() which
increments the reference count of struct user_struct on every invocation.
But we don't decrement the count by calling free_uid(). It also
accounted/unaccounted the pages against the current->mm. But its possible
the unaccount_mem() can be called from a different process context than the
one that originally pinned the pages.

Let's fix this by storing the pinning process user_struct and mm_struct
when accounting for pinned pages, and subsequently free these resources
when the pages are unpinned.

[borntraeger@linux.ibm.com: Fixed whitespace]
Published: 2026-08-15
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in the Linux kernel’s KVM subsystem for the IBM s390 architecture, where the account_mem() and unaccount_mem() functions call get_uid() to increment a user_struct reference count without ever calling free_uid(). When pages are unpinned, the unaccount_mem() function may run in a different process context, causing stale references to remain. It is inferred that this mis‑accounting can cause a memory leak in the kernel, eventually exhausting available memory and leading to system instability or a denial of service. The weakness corresponds to potential misuse of kernel structures (CWE-911).

Affected Systems

This issue affects all Linux kernel builds that include the buggy KVM implementation on the s390 architecture. Distributions shipping the base kernel with the affected KVM code are impacted. No other vendors or products are listed in the CNA data.

Risk and Exploitability

The CVSS score of 5.5 places the vulnerability in the medium severity range, and the EPSS score of less than 1% indicates a very low probability of exploitation at this time. The vulnerability is not listed in CISA’s KEV catalog, and no publicly documented exploits exist. Exploitation would likely require privileged access to a KVM domain or a heavily loaded virtualization environment where many PCI‑passthrough VMs trigger frequent pinning and unpinning of pages. While the path to exploitation is constrained to kernel‑level operations, prolonged mis‑accounting could still result in memory exhaustion over time.

Generated by OpenCVE AI on August 21, 2026 at 23:06 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch from commit 36f6999ecde3976731a8bfc0b8e667da6f593069, which stores the pinning process’ user_struct and mm_struct and correctly frees them when pages are unpinned.
  • If your environment uses custom KVM kernels, rebuild the kernel with this patch and verify stability before deployment.
  • Disable PCI passthrough for KVM domains that do not require it until the patch is in place, to reduce the risk of re‑entanglement with pinned pages.
  • Restart all running KVM virtual machines after updating the kernel to clear any stale memory accounting.

Generated by OpenCVE AI on August 21, 2026 at 23:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Sun, 23 Aug 2026 13:15:00 +0000


Fri, 21 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-674

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

Type Values Removed Values Added
Weaknesses CWE-911
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

Low


Wed, 19 Aug 2026 17:00:00 +0000


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

Type Values Removed Values Added
Weaknesses CWE-674

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

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: KVM: s390: pci: Fix memory accounting for pinned/unpinned pages The account_mem() and unaccount_mem() functions call get_uid() which increments the reference count of struct user_struct on every invocation. But we don't decrement the count by calling free_uid(). It also accounted/unaccounted the pages against the current->mm. But its possible the unaccount_mem() can be called from a different process context than the one that originally pinned the pages. Let's fix this by storing the pinning process user_struct and mm_struct when accounting for pinned pages, and subsequently free these resources when the pages are unpinned. [borntraeger@linux.ibm.com: Fixed whitespace]
Title KVM: s390: pci: Fix memory accounting for pinned/unpinned pages
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-23T12:47:32.122Z

Reserved: 2026-08-15T05:44:03.909Z

Link: CVE-2026-74514

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T13:17:56.530

Modified: 2026-08-23T13:16:45.457

Link: CVE-2026-74514

cve-icon Redhat

Severity : Low

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

Links: CVE-2026-74514 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T23:15:05Z

Weaknesses
  • CWE-911

    Improper Update of Reference Count