An off-by-one error was found in libvirt in the udevListInterfacesByStatus() function when the number of interfaces exceeds names_len. The issue can be reproduced by sending a specially crafted entry to the libvirt daemon and can lead to a segmentation fault. An unprivileged user could use this flaw to cause a denial of service condition.
The embargo can be removed as the fix was already pushed upstream as commit c664015fe3a7bf59db26686e9ed69af011c6ebb8 Refs: v10.1.0-rc2-5-gc664015fe3 Author: Martin Kletzander <mkletzan> AuthorDate: Tue Feb 27 16:20:12 2024 +0100 Commit: Jiri Denemark <jdenemar> CommitDate: Fri Mar 1 11:52:27 2024 +0100 Fix off-by-one error in udevListInterfacesByStatus Ever since this function was introduced in 2012 it could've tried filling in an extra interface name. That was made worse in 2019 when the caller functions started accepting NULL arrays of size 0. This is assigned CVE-2024-1441. Signed-off-by: Martin Kletzander <mkletzan> Reported-by: Alexander Kuznetsov <kuznetsovam> Fixes: 5a33366f5c0b18c93d161bd144f9f079de4ac8ca Fixes: d6064e2759a24e0802f363e3a810dc5a7d7ebb15 Reviewed-by: Ján Tomko <jtomko>
Thanks for the heads-up, Jiri. Embargo lifted accordingly.
Created libvirt tracking bugs for this issue: Affects: fedora-all [bug 2268983]
This issue has been addressed in the following products: Red Hat Enterprise Linux 9 Via RHSA-2024:2560 https://access.redhat.com/errata/RHSA-2024:2560