Fluent Bit: Kritische Schwachstelle betrifft alle gängigen Cloudanbieter
Mit der Schwachstelle lassen sich nicht nur Ausfälle provozieren und Daten abgreifen. Auch eine Schadcodeausführung aus der Ferne ist unter gewissen Umständen möglich.
Sicherheitsforscher von Tenable haben eine kritische Schwachstelle in Fluent Bit entdeckt – einem Tool, das sich insbesondere in Cloudumgebungen großer Beliebtheit erfreut, um große Mengen an Protokolldaten zu sammeln und zu verarbeiten. Durch die Linguistic Lumberjack genannte und als CVE-2024-4323 registrierte Sicherheitslücke ist es nach Angaben der Forscher möglich, Ausfälle zu verursachen, Daten abzugreifen und möglicherweise auch Schadcode auszuführen.
Fluent Bit ist für Linux, Windows und MacOS verfügbar und wird von allen großen Cloudanbietern sowie auch einigen namhaften Cybersecurity- und anderen Technologieunternehmen eingesetzt. Der Webseite des Projektes zufolge wird das Tool unter anderem bei Google Cloud, Microsoft, AWS, Trend Micro, Cisco, Splunk, Linkedin, VMware und Dell verwendet.
Bis März 2024 wurde Fluent Bit rund 13 Milliarden Mal von Dockerhub heruntergeladen. Das Tool ist direkt in gängige Kubernetes-Distributionen eingebettet, einschließlich derer von AWS, der Google Cloud Platform und Microsoft Azure.
Unzureichende Validierung von Datentypen
Bei CVE-2024-4323 handelt es sich laut Tenable um eine Speicherkorruptionsschwachstelle im integrierten HTTP-Server von Fluent Bit, die alle Versionen des Tools von 2.0.7 bis einschließlich 3.0.3 betrifft – und damit alle Fluent-Bit-Versionen, die ab dem 19. Dezember 2022 veröffentlicht wurden.
Zunächst stellten die Forscher gewisse Ungereimtheiten hinsichtlich der API-Endpunkte /api/v1/traces und /api/v1/trace fest. "Unabhängig davon, ob irgendwelche Traces konfiguriert sind oder nicht, ist es für jeden Benutzer mit Zugriff auf diese Endpunkte möglich, sie abzufragen", heißt es im Blogbeitrag von Tenable.
Im Rahmen seiner Untersuchungen stieß das Forscherteam dann auf weitere Probleme, die durch eine unzureichende Validierung der an den Endpunkt /api/v1/traces übergebenen Daten entstehen. "Durch die Übergabe von Nicht-String-Werten wie z. B. Integern im Inputs-Array einer Anfrage, ist es möglich, eine Vielzahl von Speicherfehlern zu verursachen", erklärten die Forscher.
Sie benannten beispielhaft fünf verschiedene Fehler, die sich durch bestimmte Integer-Werte gezielt auslösen lassen, um einen Absturz (DoS) herbeizuführen oder angrenzende Speicherbereiche auszulesen. Auch eine Remotecodeausführung (RCE) soll möglich sein, wenngleich die Forscher darauf hinwiesen, dass die Entwicklung eines zuverlässigen Exploits für diesen Zweck schwierig und extrem zeitaufwendig sei.
Workaround und Fix verfügbar
Die Forscher erklärten, das Entwicklerteam von Fluent Bit schon am 30. April über ihre Entdeckung informiert zu haben. Ein Fix wurde am 15. Mai in die Codebasis des Tools aufgenommen. Er besteht laut Tenable darin, dass die Datentypen der im genannten Inputs-Array übergebenen Werte ordnungsgemäß validiert werden.
Ihrem Bericht zufolge nehmen die Sicherheitsforscher an, dass der Fix seinen Weg in Version 3.0.4 von Fluent Bit findet. Letztere wurde erst vor wenigen Stunden veröffentlicht. Auch Microsoft, Amazon und Google wurden laut Tenable am 15. Mai über das Problem informiert, um zeitnah Maßnahmen ergreifen zu können.
Den Nutzern von Fluent Bit empfehlen die Forscher, auf eine gepatchte Version der Software zu aktualisieren, sobald möglich. Alternativ können Administratoren ihre Systeme schützen, indem sie den Zugriff auf die Monitoring-API von Fluent Bit auf autorisierte Benutzer und Dienste einschränken. Wird der betroffene API-Endpunkt gar nicht genutzt, so kann er auch vollständig deaktiviert werden.