Skip to main content

Linux Kernel CVE-2026-52994

| EUVDEUVD-2026-38862 MEDIUM
2026-06-24 Linux GHSA-c44p-q7r3-5852
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local socket creation requires unprivileged credentials (PR:L, AV:L); no data is disclosed (C:N, I:N); unbounded page pinning produces high availability impact (A:H).

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 15, 2026 - 13:25 vuln.today
CVSS changed
Jul 15, 2026 - 13:22 NVD
5.5 (MEDIUM)
Patch available
Jun 24, 2026 - 18:02 EUVD
CVE Published
Jun 24, 2026 - 16:29 nvd
MEDIUM 5.5
CVE Published
Jun 24, 2026 - 16:29 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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

vsock/virtio: fix MSG_ZEROCOPY pinned-pages accounting

virtio_transport_init_zcopy_skb() uses iter->count as the size argument for msg_zerocopy_realloc(), which in turn passes it to mm_account_pinned_pages() for RLIMIT_MEMLOCK accounting. However, this function is called after virtio_transport_fill_skb() has already consumed the iterator via __zerocopy_sg_from_iter(), so on the last skb, iter->count will be 0, skipping the RLIMIT_MEMLOCK enforcement.

Pass pkt_len (the total bytes being sent) as an explicit parameter to virtio_transport_init_zcopy_skb() instead of reading the already-consumed iter->count.

This matches TCP and UDP, which both call msg_zerocopy_realloc() with the original message size.

AnalysisAI

Improper RLIMIT_MEMLOCK accounting in the Linux kernel's vsock/virtio MSG_ZEROCOPY path allows a local low-privileged user to bypass per-process pinned-page limits, enabling unbounded kernel memory pinning that can drive the system toward memory exhaustion. The flaw is confined to the virtio vsock transport and is not remotely exploitable. No public exploit has been identified and EPSS sits at 0.17% (7th percentile), reflecting low exploitation interest; however, a vendor-confirmed fix is available in stable releases.

Technical ContextAI

AF_VSOCK is a Linux address family providing socket-based communication between virtual machines and their hypervisors, with the virtio transport (virtio-vsock kernel module) being the primary backend. MSG_ZEROCOPY is a Linux send flag that bypasses kernel-buffer copying by pinning userspace pages directly for DMA; page pinning is accounted against RLIMIT_MEMLOCK to prevent privilege escalation through excessive memory locking. The flaw resides in virtio_transport_init_zcopy_skb(), which calls msg_zerocopy_realloc() with iter->count as the size argument. Because virtio_transport_fill_skb() invokes __zerocopy_sg_from_iter() before this accounting call, the iterator is fully consumed by the time the last skb is initialized, leaving iter->count at zero. Passing zero to mm_account_pinned_pages() causes the kernel to record no usage for the final - and often the largest - segment of a zerocopy send, silently underreporting pinned memory against RLIMIT_MEMLOCK. The correct approach, already used by TCP and UDP, is to pass the pre-computed pkt_len to msg_zerocopy_realloc() rather than relying on the live iterator. Affected CPE: cpe:2.3:a:linux:linux starting from commit 581512a6dc939ef122e49336626ae159f3b8a345, introduced around kernel 6.7. No CWE has been formally assigned, but this is a classic resource-accounting logic error (analogous to CWE-772 or CWE-400).

RemediationAI

Upgrade to Linux kernel 6.18.33, 7.0.10, or 7.1, which contain the corrected virtio_transport_init_zcopy_skb() implementation. Stable-tree patches are available at https://git.kernel.org/stable/c/6af1736b5810bc8a4a43a8518530113f5a757dc1, https://git.kernel.org/stable/c/1cb36e252211506f51095fe7ced8286cc77b4c80, and https://git.kernel.org/stable/c/d0117950075f0a9d5944980784c719d8ebcd4bff. If immediate patching is not possible, unloading the virtio-vsock kernel module ('modprobe -r virtio-vsock') eliminates the attack surface entirely, but will break any VM-to-hypervisor or guest-to-guest communication that relies on AF_VSOCK; assess operational impact before applying. Alternatively, restricting AF_VSOCK socket creation to root via a seccomp filter or AppArmor/SELinux profile on untrusted workloads limits exposure without disabling vsock system-wide. NVD advisory: https://nvd.nist.gov/vuln/detail/CVE-2026-52994.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-52994 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy