Libvirt: negative g_new0 length can lead to unbounded memory allocation (libvirt)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.37 % Β· percentile 30 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- redhat
- NVD status
- Deferred
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.
Weaknesses (CWE)
- CWE-789 β Memory Allocation with Excessive Size Value
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/
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 6.2 | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | redhat |
| CVSS 3.1 | MEDIUM 6.2 | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | NVD Β· secalert@redhat.com (Secondary) |
European references
- ENISA EUVD Β· EUVD-2024-27443
- GCVE Β· GCVE-0-2024-2494
Affected products
| Product | Versions |
|---|---|
| libvirt | affected 9.0.0 < 9.7.0 |
| Red Hat Β· Red Hat Enterprise Linux 8 | unaffected 8100020240409073027.489197e6 < * |
| Red Hat Β· Red Hat Enterprise Linux 8 | unaffected 8100020240409073027.489197e6 < * |
| Red Hat Β· Red Hat Enterprise Linux 9 | unaffected 0:10.0.0-6.2.el9_4 < * |
| Red Hat Β· Red Hat Enterprise Linux 6 | |
| Red Hat Β· Red Hat Enterprise Linux 7 | |
| Red Hat Β· Red Hat Enterprise Linux 8 Advanced Virtualization |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST β attribution requested |
| ENISA EUVD | ENISA β reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain β this product uses data from the NVD API but is not endorsed or certified by the NVD |