Libvirt: Denial-of-Service-Attacke

Eine Sicherheitslücke in der Bibliothek Libvirt hat zur Folge, dass ein entfernter Angreifer Denial-of-Service-Attacken ausführen kann.

Ursache ist ein Programmierfehler im Storage-Pool-Manager beim Verarbeiten von Dateideskriptoren. Die Attacke können entfernte Benutzer ausführen, sofern sie Leseberechtigung besitzen. Verlangt der Angreifer das Auflisten aller Volumes, so kann es passieren, dass der Libvirtd-Prozess alle verfügbaren Dateideskriptoren verbraucht. Dadurch können andere Anwender den Dienst nicht mehr verwenden.

Der Programmierfehler befindet sich in der Quelltextdatei “daemon/remote.c”. Hier hat der Programmierer vergessen, den Speicher wieder freizugeben. Das Patch zur Reparatur ist entsprechend einfach:

--- a/daemon/remote.c
+++ b/daemon/remote.c
@@ -4202,6 +4202,8 @@ cleanup: virStorageVolFree(vols[i]); VIR_FREE(vols); }
+ if (pool)
+ virStoragePoolFree(pool); return rv; }

Es fügt lediglich eine Zeile zum Freigeben von Pool-Speicher
hinzu, womit die Schwachstelle beseitigt ist.

Betroffen sind die Libvirt-Versionen 1.0.5 und älter.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben