Eine SicherheitsanfÀlligkeit in Fluent Bit, die viele Cloud-Anbieter betrifft

Im offenen Projekt Fluent Bit wurde eine SicherheitsanfĂ€lligkeit (CVE-2024-4323) entdeckt, die es ermöglicht, SpeicherbeschĂ€digungen aus der Ferne zu verursachen. Dies kann fĂŒr einen Dienstleistungsabbruch, Datenlecks und potenziell die AusfĂŒhrung von eigenem Code auf dem Server genutzt werden. Das Problem, das den Codenamen „Linguistic Lumberjack“ trĂ€gt, hat ein kritisches Gefahrenniveau (9.8 von 10). Die SicherheitsanfĂ€lligkeit tritt ab Version 2.0.7 auf und wurde in den Korrekturupdates 2.2.3 und 3.0.4 behoben.

Fluent Bit hat ĂŒber 10 Milliarden Bereitstellungen und wird zur Verarbeitung und Sammlung von Protokollen und Metriken in vielen Unternehmen und Cloud-Plattformen eingesetzt. Zu den Nutzern gehören Google Cloud, AWS, DigitalOcean, vmWare, Cisco, Microsoft, Lyft, LinkedIn, Walmart, Couchbase, Swift und Dell. Im MĂ€rz wurden 13 Millionen Docker-Images mit Fluent Bit heruntergeladen. Laut dem Unternehmen Tenable, das die SicherheitsanfĂ€lligkeiten entdeckt hat, blockieren viele Cloud-Dienste den Zugriff auf Web-APIs nicht, um interne Metriken wie Uptime abzurufen, und Fluent Bit wird zur Handhabung solcher API-Anfragen verwendet.

Die SicherheitsanfĂ€lligkeit wird durch einen Fehler im integrierten HTTP-Server verursacht, der bei der Verarbeitung externer Anfragen ĂŒber die API-Aufrufe „/api/v1/traces“ und „/api/v1/trace“ auftritt. Diese ermöglichen den Benutzern, Informationen ĂŒber die konfigurierten Traces abzurufen. UnabhĂ€ngig davon, ob das Tracing aktiviert ist, kann ein Benutzer auf die API-Daten zugreifen, wenn ihm der entsprechende Zugang gewĂ€hrt wird. WĂ€hrend der Analyse eingehender Anfragen wurden die Typen einiger Eingabefelder, die ĂŒber ein Array im JSON-Block ĂŒbermittelt wurden, falsch bestimmt und unabhĂ€ngig vom erwarteten Feldtyp als MSGPACK_OBJECT_STR interpretiert. Das Bereitstellen von nicht-zeichenfolgenbezogenen Werten im Eingabearray, wie beispielsweise Ganzzahlen, fĂŒhrte zu SpeicherbeschĂ€digungen, da die Funktion flb_sds_create_len() den ĂŒbergebenen Ganzzahlwert als StringfeldgrĂ¶ĂŸe extrahierte.

Beispiel fĂŒr eine Anfrage, die einen Absturz verursacht: python3 -c ‘print(„{\“output\“:\“stdout\“, \“params\“: {\“format\“: \“json\“},\“inputs\“:[\““ + „A“*8 + „\“,“ + str(0xffffffff) + „, \““ + „B“*500 + „\“]}“)’ > test curl -v http://:2020/api/v1/traces/ -H „Content-Type: application/json“ -H „Expect: “ —data „@test“

Im Verlauf der Experimente gelang es den Forschern, einen Notausstieg des Dienstes zu erreichen und den verbleibenden Inhalt des Speichers zu identifizieren, der bei der Verarbeitung von HTTP-Anfragen verwendet wurde und beispielsweise Fragmente vertraulicher Daten wie ZugangsschlĂŒssel enthĂ€lt. Da das Problem zu einem von den ĂŒbermittelten Parametern abhĂ€ngigen PufferĂŒberlauf fĂŒhrt, könnte es theoretisch ausgenutzt werden, um eigenen Code im System auszufĂŒhren, jedoch wurde diese Möglichkeit von den Forschern, die das Problem entdeckt haben, aufgrund von Zeitmangel fĂŒr die Entwicklung eines Exploits nicht getestet.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster