Libvirt: stack use-after-free in virnetclientioeventloop()
A race condition leading to a stack use-after-free flaw was found in libvirt. Due to a bad assumption in the virNetClientIOEventLoop() method, the `data` pointer to a stack-allocated virNetClientIOEventData structure ended up being used in the virNetClientIOEventFD callback while the data pointer's stack frame was concurrently being "freed" when returning from virNetClientIOEventLoop(). The 'virtproxyd' daemon can be used to trigger requests. If libvirt is configured with fine-grained access control, this issue, in theory, allows a user to escape their otherwise limited access. This flaw allows a local, unprivileged user to access virtproxyd without authenticating. Remote users would need to authenticate before they could access it.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2024-4418
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 19:22 UTC · Revision 1
Source evidence
Libvirt: stack use-after-free in virnetclientioeventloop()
core-osv · Original sourcePublished 8 May 2024, 03:03 UTC
A race condition leading to a stack use-after-free flaw was found in libvirt. Due to a bad assumption in the virNetClientIOEventLoop() method, the `data` pointer to a stack-allocated virNetClientIOEventData structure ended up being used in the virNetClientIOEventFD callback while the data pointer's stack frame was concurrently being "freed" when returning from virNetClientIOEventLoop(). The 'virtproxyd' daemon can be used to trigger requests. If libvirt is configured with fine-grained access control, this issue, in theory, allows a user to escape their otherwise limited access. This flaw allows a local, unprivileged user to access virtproxyd without authenticating. Remote users would need to authenticate before they could access it.
osv:CVE-2024-4418
Complete source record
{
"id": "94cf478fcde4179585d3f07b6e1f2a9e0ee0032308365bb41c07650ea7d3dbeb",
"url": "https://osv.dev/vulnerability/CVE-2024-4418",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Libvirt: stack use-after-free in virnetclientioeventloop()",
"summary": "A race condition leading to a stack use-after-free flaw was found in libvirt. Due to a bad assumption in the virNetClientIOEventLoop() method, the `data` pointer to a stack-allocated virNetClientIOEventData structure ended up being used in the virNetClientIOEventFD callback while the data pointer's stack frame was concurrently being \"freed\" when returning from virNetClientIOEventLoop(). The 'virtproxyd' daemon can be used to trigger requests. If libvirt is configured with fine-grained access control, this issue, in theory, allows a user to escape their otherwise limited access. This flaw allows a local, unprivileged user to access virtproxyd without authenticating. Remote users would need to authenticate before they could access it.",
"evidence": "osv:CVE-2024-4418",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2024-4418",
"aliases": [
"CVE-2024-4418"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://gitlab.com/libvirt/libvirt",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "ccd9e99e5299977b2e5432d3ee96138c83ea77be"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "10.4.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
}
]
}
}
],
"versions": [
"v10.4.0-rc2",
"v10.4.0-rc1",
"CVE-2024-4418",
"v10.3.0",
"v10.3.0-rc1",
"v10.2.0",
"v10.2.0-rc2",
"v10.2.0-rc1",
"CVE-2024-2494",
"v10.1.0",
"CVE-2024-1441",
"v10.1.0-rc2",
"v10.1.0-rc1",
"v10.0.0",
"v10.0.0-rc2",
"v10.0.0-rc1",
"v9.10.0",
"v9.10.0-rc2",
"v9.10.0-rc1",
"v9.9.0",
"v9.9.0-rc2",
"v9.9.0-rc1",
"v9.8.0",
"v9.8.0-rc2",
"v9.8.0-rc1",
"v9.7.0",
"v9.7.0-rc2",
"v9.7.0-rc1",
"v9.6.0",
"v9.6.0-rc2",
"v9.6.0-rc1",
"CVE-2023-3750",
"v9.5.0",
"v9.5.0-rc2",
"v9.5.0-rc1",
"v9.4.0",
"v9.4.0-rc2",
"v9.4.0-rc1",
"v9.3.0",
"v9.3.0-rc2",
"v9.3.0-rc1",
"v9.2.0",
"v9.2.0-rc2",
"v9.2.0-rc1",
"v9.1.0",
"v9.1.0-rc2",
"v9.1.0-rc1",
"v9.0.0",
"v9.0.0-rc2",
"v9.0.0-rc1",
"v8.10.0",
"v8.10.0-rc2",
"v8.10.0-rc1",
"v8.9.0",
"v8.9.0-rc2",
"v8.9.0-rc1",
"v8.8.0",
"v8.8.0-rc2",
"v8.8.0-rc1",
"v8.7.0",
"v8.7.0-rc2",
"v8.7.0-rc1",
"v8.6.0",
"v8.6.0-rc2",
"v8.6.0-rc1",
"v8.5.0",
"v8.5.0-rc2",
"v8.5.0-rc1",
"v8.4.0",
"v8.4.0-rc2",
"v8.4.0-rc1",
"v8.3.0",
"v8.3.0-rc2",
"v8.3.0-rc1",
"v8.2.0",
"v8.2.0-rc2",
"v8.2.0-rc1",
"CVE-2022-0897",
"v8.1.0",
"v8.1.0-rc2",
"v8.1.0-rc1",
"v8.0.0",
"v8.0.0-rc2",
"v8.0.0-rc1",
"CVE-2021-4147",
"v7.10.0",
"v7.10.0-rc2",
"v7.10.0-rc1",
"v7.9.0",
"v7.9.0-rc2",
"v7.9.0-rc1",
"v7.8.0",
"v7.8.0-rc2",
"v7.8.0-rc1",
"v7.7.0",
"v7.7.0-rc2",
"v7.7.0-rc1",
"v7.6.0",
"v7.6.0-rc2",
"v7.6.0-rc1",
"CVE-2021-3667",
"v7.5.0",
"CVE-2021-3631",
"v7.5.0-rc2",
"v7.5.0-rc1",
"v7.4.0",
"v7.4.0-rc2",
"v7.4.0-rc1",
"v7.3.0",
"v7.3.0-rc2",
"v7.3.0-rc1",
"v7.2.0",
"v7.2.0-rc2",
"v7.2.0-rc1",
"v7.1.0",
"v7.1.0-rc2",
"v7.1.0-rc1",
"v7.0.0",
"v7.0.0-rc2",
"v7.0.0-rc1",
"v6.10.0",
"v6.10.0-rc2",
"v6.10.0-rc1",
"v6.9.0",
"v6.9.0-rc2",
"v6.9.0-rc1",
"v6.8.0",
"CVE-2020-25637",
"v6.8.0-rc2",
"v6.8.0-rc1",
"v6.7.0",
"v6.7.0-rc2",
"v6.7.0-rc1",
"v6.6.0",
"CVE-2020-14339",
"v6.6.0-rc1",
"v6.5.0",
"v6.5.0-rc2",
"v6.5.0-rc1",
"v6.4.0",
"v6.4.0-rc1",
"v6.3.0",
"v6.3.0-rc1",
"CVE-2020-14301",
"v6.2.0",
"v6.2.0-rc1",
"CVE-2019-20485",
"v6.1.0",
"v6.1.0-rc2",
"v6.1.0-rc1",
"v6.0.0",
"v6.0.0-rc2",
"v6.0.0-rc1",
"CVE-2020-10703",
"CVE-2019-11135",
"v5.10.0",
"v5.10.0-rc2",
"v5.10.0-rc1",
"v5.9.0",
"v5.9.0-rc1",
"v5.8.0",
"v5.8.0-rc2",
"v5.8.0-rc1",
"v5.7.0",
"v5.7.0-rc2",
"v5.7.0-rc1",
"v5.6.0",
"v5.6.0-rc2",
"v5.6.0-rc1",
"v5.5.0",
"v5.5.0-rc2",
"v5.5.0-rc1",
"CVE-2019-10168",
"CVE-2019-10161",
"CVE-2019-10166",
"CVE-2019-10167",
"v5.4.0",
"v5.4.0-rc2",
"v5.4.0-rc1",
"v4.2.0",
"v4.3.0",
"v4.4.0",
"v4.6.0",
"v4.8.0",
"v4.9.0",
"v4.10.0",
"v5.0.0",
"v5.2.0",
"CVE-2019-10132",
"v5.3.0",
"v4.7.0",
"v5.3.0-rc2",
"v5.3.0-rc1",
"CVE-2019-3886",
"v5.2.0-rc2",
"v5.2.0-rc1",
"v5.1.0",
"v5.1.0-rc2",
"v5.1.0-rc1",
"v5.0.0-rc2",
"v5.0.0-rc1",
"CVE-2019-3840",
"v4.10.0-rc2",
"v4.10.0-rc1",
"v4.9.0-rc1",
"v4.8.0-rc2",
"v4.8.0-rc1",
"v4.7.0-rc2",
"v4.7.0-rc1",
"v4.6.0-rc2",
"v4.6.0-rc1",
"v4.5.0",
"CVE-2018-3639",
"v4.5.0-rc2",
"v4.5.0-rc1",
"v4.4.0-rc2",
"v4.4.0-rc1",
"v4.1.0",
"v4.3.0-rc2",
"v4.3.0-rc1",
"v4.2.0-rc2",
"v4.2.0-rc1",
"CVE-2018-1064",
"v4.1.0-rc2",
"v4.1.0-rc1",
"CVE-2018-6764",
"v4.0.0",
"CVE-2018-5748",
"CVE-2017-5715",
"v4.0.0-rc2",
"v4.0.0-rc1",
"v3.10.0",
"v3.10.0-rc2",
"v3.10.0-rc1",
"v3.9.0",
"v3.9.0-rc2",
"v3.9.0-rc1",
"CVE-2017-1000256",
"v3.7.0",
"v3.8.0",
"v3.8.0-rc1",
"v3.7.0-rc2",
"v3.7.0-rc1",
"v3.6.0",
"v3.6.0-rc2",
"v3.6.0-rc1",
"v3.5.0",
"v3.5.0-rc2",
"v3.5.0-rc1",
"v3.4.0",
"v3.4.0-rc2",
"v3.4.0-rc1",
"v3.3.0",
"v3.3.0-rc2",
"v3.3.0-rc1",
"v3.2.0",
"v3.2.0-rc2",
"v3.2.0-rc1",
"v3.1.0",
"v3.1.0-rc2",
"v3.1.0-rc1",
"CVE-2017-2635",
"v3.0.0",
"v3.0.0-rc2",
"v3.0.0-rc1",
"v2.5.0",
"v2.5.0-rc2",
"v2.5.0-rc1",
"v2.4.0",
"v2.4.0-rc2",
"v2.4.0-rc1",
"v2.3.0",
"v2.3.0-rc2",
"v2.2.0",
"v2.1.0",
"v2.3.0-rc1",
"v2.2.0-rc2",
"v2.2.0-rc1",
"v2.1.0-rc1",
"v2.0.0",
"v1.3.5",
"v1.3.4",
"v1.3.2",
"v1.0.0",
"v1.0.1",
"CVE-2016-5008",
"v2.0.0-rc2",
"v2.0.0-rc1",
"v1.3.5-rc1",
"v1.3.4-rc2",
"v1.3.4-rc1",
"v1.3.3",
"v1.3.3-rc2",
"v1.3.3-rc1",
"v1.3.2-rc2",
"v1.3.2-rc1",
"v1.3.1",
"v1.3.1-rc2",
"v1.3.1-rc1",
"CVE-2016-10746",
"CVE-2015-5313",
"v1.2.20",
"v1.2.21",
"v1.3.0",
"v1.3.0-rc2",
"v1.3.0-rc1",
"v1.2.21-rc2",
"v1.2.21-rc1",
"v1.2.20-rc2",
"v1.2.20-rc1",
"CVE-2015-5247-3",
"v1.2.19",
"CVE-2015-5247-1",
"CVE-2015-5247-2",
"v1.2.19-rc2",
"v1.2.18",
"v1.2.19-rc1",
"v1.2.18-rc2",
"v1.2.18-rc1",
"v1.2.17",
"v1.2.17-rc2",
"v1.2.17-rc1",
"v1.2.15",
"v1.2.16",
"v1.2.16-rc2",
"v1.2.16-rc1",
"v1.2.15-rc2",
"v1.2.15-rc1",
"v1.2.14",
"v1.2.14-rc2",
"v1.2.14-rc1",
"v1.2.13",
"v1.2.13-rc2",
"v1.2.13-rc1",
"v1.2.12",
"v1.2.12-rc2",
"v1.2.11",
"CVE-2015-0236-2",
"CVE-2015-0236",
"CVE-2015-0236-1",
"v1.2.12-rc1",
"CVE-2014-8131-2",
"v1.2.11-rc2",
"CVE-2014-8131-1",
"CVE-2014-8131",
"CVE-2014-8136",
"v1.2.11-rc1",
"CVE-2014-8135",
"v1.2.10",
"CVE-2014-7823",
"v1.2.10-rc2",
"v1.2.9",
"v1.2.10-rc1",
"CVE-2014-3657",
"v1.2.9-rc2",
"v1.2.9-rc1",
"CVE-2014-3633",
"v1.2.8",
"v1.2.8-rc2",
"v1.2.8-rc1",
"v1.2.7",
"v1.2.7-rc2",
"v1.2.7-rc1",
"v1.2.6",
"v1.2.6-rc2",
"v1.2.6-rc1",
"v1.2.5",
"v1.2.5-rc2",
"v1.2.5-rc1",
"CVE-2014-0179",
"v1.2.4",
"v1.2.4-rc2",
"v1.2.4-rc1",
"v1.2.3",
"v1.2.3-rc2",
"v1.2.3-rc1",
"v1.2.2",
"v1.2.2-rc2",
"v1.2.2-rc1",
"CVE-2013-6456",
"v1.2.1",
"v0.8.3",
"CVE-2014-0028",
"v1.2.1-rc2",
"CVE-2014-1447-2",
"CVE-2014-1447-1",
"v1.2.1-rc1",
"CVE-2013-6458-4",
"CVE-2013-6458-3",
"CVE-2013-6458-2",
"CVE-2013-6458-1",
"CVE-2013-6457",
"v1.1.4",
"CVE-2013-6436",
"v1.2.0",
"v1.2.0-rc2",
"v1.2.0-rc1",
"v1.1.4-rc2",
"v1.1.4-rc1",
"CVE-2013-4400-1",
"CVE-2013-4400-2",
"CVE-2013-4400-3",
"CVE-2013-4401",
"v1.1.3",
"v1.1.3-rc2",
"CVE-2013-4399",
"v1.1.3-rc1",
"CVE-2013-7336",
"CVE-2013-4296",
"CVE-2013-4311",
"v0.9.12",
"v1.1.2",
"CVE-2013-4297",
"v1.1.2-rc2",
"CVE-2013-4291",
"CVE-2013-4292",
"v1.1.2-rc1",
"CVE-2013-5651",
"v1.1.1",
"CVE-2013-4239",
"v1.1.1-rc2",
"v1.1.1-rc1",
"CVE-2013-4153",
"CVE-2013-4154",
"CVE-2013-2230",
"v1.1.0",
"CVE-2013-2218",
"v1.1.0-rc2",
"v1.1.0-rc1",
"v1.0.6",
"v1.0.6-rc2",
"v1.0.6-rc1",
"CVE-2013-1962",
"v1.0.5",
"v1.0.5-rc1",
"v1.0.4",
"v1.0.4-rc2",
"v1.0.4-rc1",
"v1.0.3",
"v1.0.3-rc2",
"v1.0.3-rc1",
"v1.0.2",
"CVE-2013-0170",
"v1.0.2-rc2",
"v1.0.2-rc1",
"v1.0.1-rc2",
"v1.0.1-rc1",
"CVE-2012-3411",
"v1.0.0-rc3",
"v1.0.0-rc2",
"v1.0.0-rc1",
"v0.10.2",
"v0.10.2-rc2",
"v0.10.2-rc1",
"CVE-2012-4423",
"v0.10.1",
"v0.10.0",
"v0.10.0-rc2",
"v0.10.0-rc1",
"v0.10.0-rc0",
"CVE-2012-3445",
"v0.9.13",
"v0.9.13-rc2",
"v0.9.13-rc1",
"v0.9.6",
"v0.9.12-rc2",
"v0.9.12-rc1",
"v0.9.11",
"v0.9.11-rc2",
"v0.9.11-rc1",
"v0.9.10",
"v0.9.10-rc2",
"v0.9.10-rc1",
"v0.9.9",
"v0.9.9-rc2",
"v0.9.9-rc1",
"v0.9.8",
"v0.9.8-rc2",
"v0.9.8-rc1",
"v0.9.7",
"v0.9.7-rc1",
"v0.9.5",
"v0.9.5-rc3",
"v0.9.5-rc2",
"v0.9.5-rc1",
"v0.9.4",
"v0.9.4-rc2",
"v0.9.4-rc1",
"v0.9.3",
"v0.9.3-rc2",
"v0.9.3-rc1",
"v0.9.2",
"CVE-2011-2178",
"v0.9.1",
"v0.9.0",
"CVE-2011-1486",
"CVE-2011-1146",
"v0.8.8",
"v0.8.7",
"v0.8.6",
"v0.8.5",
"v0.8.4",
"CVE-2010-2239",
"CVE-2010-2238",
"CVE-2010-2237",
"CVE-2010-2242",
"v0.8.2",
"v0.8.1",
"v0.8.0",
"v0.7.7",
"v0.7.6",
"v0.7.5",
"v0.7.4",
"v0.7.3",
"v0.7.2",
"v0.7.1",
"v0.7.0",
"v0.6.5",
"LIBVIRT_0_6_5",
"v0.6.4",
"LIBVIRT_0_6_4",
"v0.6.3",
"LIBVIRT_0_6_3",
"v0.6.2",
"LIBVIRT_0_6_2",
"v0.6.1",
"LIBVIRT_0_6_1",
"v0.6.0",
"LIBVIRT_0_6_0",
"CVE-2009-0036",
"CVE-2008-5086",
"v0.5.1",
"LIBVIRT_0_5_1",
"v0.5.0",
"LIBVIRT_0_5_0",
"v0.4.6",
"LIBVIRT_0_4_6",
"v0.4.4",
"LIBVIRT_0_4_4",
"v0.4.2",
"LIBVIRT_0_4_2",
"v0.4.1",
"LIBVIRT_0_4_1",
"v0.3.3",
"LIBVIRT_0_3_3",
"v0.3.2",
"LIBVIRT_0_3_2",
"v0.3.1",
"LIBVIRT_0_3_1",
"v0.3.0",
"LIBVIRT_0_3_0",
"v0.2.3",
"LIVIRT_0_2_3",
"v0.2.2",
"LIBVIRT_0_2_2",
"v0.2.1",
"LIBVIRT_0_2_1",
"v0.2.0",
"LIBVIRT_0_2_0",
"v0.1.11",
"LIBVIRT_0_1_11",
"v0.1.10",
"LIBVIRT_0_1_10",
"v0.1.9",
"LIBVIRT_0_1_9",
"v0.1.8",
"LIBVIRT_0_1_8",
"v0.1.7",
"LIBVIRT_0_1_7",
"v0.1.6",
"LIBVIRT_0_1_6",
"v0.1.4",
"LIBVIRT_0_1_4",
"v0.1.3",
"LIBVIRT_0_1_3",
"v0.1.1",
"LIBVIRT_0_1_1",
"v0.1.0",
"LIBVIRT_0_1_0",
"v0.0.5",
"LIBVIRT_0_0_5",
"v0.0.4",
"LIBVIRT_0_0_4",
"v0.0.3",
"LIBVIRT_0_0_3",
"v0.0.2",
"LIBVIR_0_0_2",
"v0.0.1",
"LIBVIR_0_0_1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-4418.json"
}
}
],
"modified": "2026-10-28T02:30:38.582554409Z",
"provider": "osv",
"references": [
"https://access.redhat.com/downloads/content/package-browser/",
"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4IE44UIIC3QWBFRB4EUSFNLJBU6JLNSD/",
"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/Q4ZQBAJVHIZMCZNTRPUW3ZKXRKLXRQZU/",
"https://access.redhat.com/errata/RHSA-2024:4351",
"https://access.redhat.com/errata/RHSA-2024:4432",
"https://access.redhat.com/errata/RHSA-2024:4757",
"https://access.redhat.com/security/cve/CVE-2024-4418",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/4xxx/CVE-2024-4418.json",
"https://nvd.nist.gov/vuln/detail/CVE-2024-4418",
"https://security.netapp.com/advisory/ntap-20250411-0002/",
"https://bugzilla.redhat.com/show_bug.cgi?id=2278616",
"https://gitlab.com/libvirt/libvirt"
],
"provider_metadata": {
"cwe_ids": [
"CWE-562"
],
"cna_assigner": "redhat",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"fixed": "8100020240606142719.489197e6"
},
{
"fixed": "8100020240606142719.489197e6"
},
{
"fixed": "0:10.0.0-6.6.el9_4"
},
{
"fixed": "0:9.0.0-10.7.el9_2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "InverseAffectedRanges"
}
]
}
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/4xxx/CVE-2024-4418.json"
}
},
"related_cves": [
{
"value": "CVE-2024-4418",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 506115,
"published_at": "2024-05-08T03:03:05.135+00:00"
}