CVE-2026-18917
Received Received - Intake

Integer Overflow in Libvirt Leading to Heap Buffer Overflow

Vulnerability report for CVE-2026-18917, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-20

Last updated on: 2026-08-20

Assigner: redhat-SADP

Description

A flaw was found in libvirt. An unprivileged local user could exploit an integer overflow vulnerability in the NodeGetFreePages RPC handler. This flaw allows crafted values to bypass a size check, leading to an undersized memory buffer. Subsequently, real NUMA node data can overwrite this buffer. This heap buffer overflow can corrupt the root libvirt daemon's memory, potentially leading to a denial of service or local privilege escalation.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-20
Last Modified
2026-08-20
Generated
2026-08-20
AI Q&A
2026-08-20
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
libvirt libvirt *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-190 The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-18917 is an integer overflow flaw in libvirt's NodeGetFreePages RPC handler. An unprivileged local user can exploit this by sending crafted values that bypass a size check, creating an undersized memory buffer. This buffer is later overwritten with real NUMA node data, causing a heap buffer overflow that corrupts the root libvirt daemon's memory.

Detection Guidance

This vulnerability is specific to libvirt's NodeGetFreePages RPC handler and requires local access to exploit. Detection involves checking libvirt version and configuration. Run 'virsh version' to check libvirt version and 'ls -l /var/run/libvirt/libvirt-sock-ro' to verify socket permissions. If the socket has mode 0666, it is vulnerable.

Impact Analysis

This vulnerability allows an unprivileged local user to corrupt the root libvirt daemon's memory. This could lead to a denial of service, crashing the daemon, or local privilege escalation, giving the attacker higher system privileges.

Mitigation Strategies

Restrict access to the libvirt read-only Unix socket by setting unix_sock_ro_perms to '0770' or '0700' in /etc/libvirt/libvirtd.conf and configure unix_sock_group to include only trusted users. Alternatively, enable polkit authentication by setting auth_unix_ro to 'polkit'. Restart the libvirtd service after changes.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-18917. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart