CVE-2026-52994: Linux Kernel vsock/virtio MSG_ZEROCOPY Memory Accounting Bypass
A flaw in the Linux kernel's virtual socket (vsock) implementation over virtio transport allows unprivileged users to bypass memory resource limits (RLIMIT_MEMLOCK) when using zero-copy message operations. The bug occurs because the kernel fails to properly account for pinned memory pages on the final network packet, allowing an attacker with local access to pin more memory than their account should be permitted, potentially causing denial of service.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- —
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-07-15
NVD description (verbatim)
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.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-52994 affects the vsock/virtio subsystem in the Linux kernel. The vulnerability exists in virtio_transport_init_zcopy_skb(), which uses iter->count to determine the size argument passed to msg_zerocopy_realloc() for RLIMIT_MEMLOCK accounting. Since this function is called after __zerocopy_sg_from_iter() consumes the iterator, iter->count becomes 0 on the final skb, causing the memory accounting check to be skipped. The fix passes pkt_len (total bytes being transmitted) as an explicit parameter instead of relying on the consumed iterator state, aligning the behavior with TCP and UDP implementations.
Business impact
This vulnerability enables local denial-of-service attacks by allowing unprivileged users to exhaust system memory resources beyond their configured limits. On systems relying on resource controls to isolate tenant workloads (shared hosting, containerized environments), an attacker could trigger out-of-memory conditions affecting other users or critical services. The impact is localized to systems using virtio-based virtual sockets, which are common in cloud and virtualized deployments.
Affected systems
The Linux kernel is affected across versions that include the vulnerable vsock/virtio code. This issue is most relevant to systems using virtio transports for vsock, particularly in virtualized and cloud environments (KVM, Xen, cloud platforms). Non-virtualized standalone systems or those not using vsock functionality are unaffected.
Exploitability
Exploitation requires local access and the ability to establish vsock connections with zero-copy messaging (MSG_ZEROCOPY flag). An unprivileged local user can trigger the flaw by sending large messages via virtio-based vsock, progressively exhausting RLIMIT_MEMLOCK allowances beyond the enforced limit. The attack is straightforward once local access is obtained but has no network-based attack surface.
Remediation
Apply kernel updates containing the fix to virtio_transport_init_zcopy_skb(). Verify the patch against your Linux distribution's security advisory to confirm the specific version incorporating this resolution. Temporary mitigations include reducing RLIMIT_MEMLOCK limits per-user or disabling MSG_ZEROCOPY for untrusted workloads if operationally feasible, though patching is the recommended approach.
Patch guidance
Obtain updates from your Linux distribution's security repository. Major distributions (Red Hat, Debian, Ubuntu, SUSE) will backport this fix to their supported kernel versions. Check your vendor's security advisory for the specific kernel version numbers containing the fix. Apply patches during your regular maintenance windows, prioritizing systems running virtualized workloads or supporting multi-tenant environments.
Detection guidance
Monitor audit logs for successful vsock connections originating from unprivileged processes combined with MSG_ZEROCOPY message sends. Watch for RLIMIT_MEMLOCK accounting anomalies or sudden memory pinning events that exceed expected usage. System administrators can also track kernel updates from distribution vendors to confirm patch application. Memory pressure indicators and out-of-memory killer events from unprivileged users may signal exploitation attempts.
Why prioritize this
This is a local denial-of-service vulnerability with medium CVSS score (5.5) that bypasses resource controls in multi-tenant environments. While it requires local access and does not enable privilege escalation or data exfiltration, it threatens availability in cloud and shared hosting contexts where resource isolation is a security boundary. Prioritize patching for systems with untrusted local users or multi-tenant workloads.
Risk score, explained
CVSS 5.5 reflects a local attack vector (AV:L), low complexity (AC:L), and requirement for local user privileges (PR:L), with no impact to confidentiality or integrity. The scoring emphasizes the availability impact (A:H) from resource exhaustion. The absence from CISA's KEV catalog indicates no active in-the-wild exploitation, supporting a measured but timely response.
Frequently asked questions
Does this affect systems not using virtio or virtual sockets?
No. This vulnerability is specific to the vsock/virtio transport implementation, which is primarily used in virtualized environments. Non-virtualized standalone systems or those using alternative transport mechanisms are not affected.
Can this vulnerability be exploited remotely?
No. The flaw requires local access to the system and the ability to establish vsock connections. There is no network-based attack surface.
What is the practical impact of bypassing RLIMIT_MEMLOCK?
An attacker can pin more physical memory pages to their process than their configured resource limit allows, potentially exhausting system memory and triggering denial of service for other workloads. This is particularly damaging in multi-tenant cloud or hosting environments.
Is zero-copy messaging commonly used in production workloads?
Zero-copy messaging with MSG_ZEROCOPY is supported in vsock but requires explicit application code to request it. Most standard workloads do not use this flag. However, high-performance or storage-intensive applications may rely on it, making patching important for those environments.
This analysis is based on the published CVE record and kernel vulnerability resolution as of the stated dates. Security teams should verify patch availability and compatibility with their specific kernel versions against official distribution advisories before deployment. This writeup does not constitute security advice; organizations should conduct risk assessments aligned with their threat model and deployment context. Future kernel versions or distribution patches may provide additional details or mitigations not covered here. Source: NVD (public-domain), retrieved 2026-07-31. Analysis generated by SEC.co (claude-haiku-4-5).
Affected vendors
Related vulnerabilities
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2025-71314MEDIUMLinux Panthor GPU Driver Denial of Service via Cache Flush Timeout
- CVE-2025-71315MEDIUMLinux Kernel vkms DRM Vblank Timer Denial of Service
- CVE-2026-0268MEDIUMPrisma Access Agent Linux VPN Bypass Vulnerability
- CVE-2026-10004MEDIUMChrome UI Spoofing Vulnerability – Password Dialog Hijacking
- CVE-2026-10018MEDIUMInteger Overflow in Chrome ANGLE GPU Graphics Layer
- CVE-2026-10912MEDIUMChrome Extension Same-Origin Policy Bypass (CVSS 6.5)
- CVE-2026-10916MEDIUMChrome DevTools UXSS Vulnerability