Description
A flaw was found in the RPC library APIs of libvirt. The RPC server deserialization code allocates memory for arrays before the non-negative length check is performed by the C API entry points. Passing a negative length to the g_new0 function results in a crash due to the negative length being treated as a huge positive number. This flaw allows a local, unprivileged user to perform a denial of service attack by causing the libvirt daemon to crash.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
libvirt
Default version status: unaffected
9.0.0 to < 9.7.0affected
Red Hat Red Hat Enterprise Linux 8
Default version status: affected
8100020240409073027.489197e6 to < *unaffected
Red Hat Red Hat Enterprise Linux 8
Default version status: affected
8100020240409073027.489197e6 to < *unaffected
Red Hat Red Hat Enterprise Linux 9
Default version status: affected
0:10.0.0-6.2.el9_4 to < *unaffected
Red Hat Red Hat Enterprise Linux 6
Default version status: unknown
Red Hat Red Hat Enterprise Linux 7
Default version status: unknown
Red Hat Red Hat Enterprise Linux 8 Advanced Virtualization
Default version status: affected
References
- https://access.redhat.com/errata/RHSA-2024:2560 ↗
- https://access.redhat.com/errata/RHSA-2024:3253 ↗
- https://access.redhat.com/security/cve/CVE-2024-2494 ↗
- https://bugzilla.redhat.com/show_bug.cgi?id=2270115 ↗
- https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/BKRQXPLPC6B7FLHJXSBQYW7HNDEBW6RJ/ ↗
- https://lists.debian.org/debian-lts-announce/2024/04/msg00000.html ↗
- https://security.netapp.com/advisory/ntap-20240517-0009/ ↗