I det Äbne projekt Fluent Bit er der blevet opdaget en sÄrbarhed (CVE-2024-4323), som gÞr det muligt at forÄrsage hukommelsesskader eksternt, hvilket kan bruges til at udlÞse nedetid, datalÊkager og potentielt udfÞre egen kode pÄ serveren. Problemet, der er tildelt kodnavnet "Linguistic Lumberjack", har en kritisk faregrad (9,8 ud af 10). SÄrbarheden optrÊder fra version 2.0.7 og er blevet rettet i de korrektioner opdateringer 2.2.3 og 3.0.4.
Fluent Bit har over 10 milliarder implementeringer og bruges til behandling og indsamling af logs og metrics i mange virksomheder og cloud-platforme, sÄsom blandt brugerne at nÊvne Google Cloud, AWS, DigitalOcean, vmWare, Cisco, Microsoft, Lyft, LinkedIn, Walmart, Couchbase, Swift og Dell. I lÞbet af marts blev der downloadet 13 millioner Docker-billeder med Fluent Bit. IfÞlge virksomheden Tenable, der opdagede sÄrbarhederne, blokerer mange cloud-tjenester ikke adgangen til Web API for at fÄ interne metrics, sÄsom oppetid, og Fluent Bit bruges til at behandle henvendelser til sÄdanne API'er.
SÄrbarheden skyldes en fejl i den indbyggede HTTP-server, som opstÄr, nÄr der behandles eksterne anmodninger gennem API-opkald "\/api\/v1\/traces" og "\/api\/v1\/trace", der giver brugerne mulighed for at fÄ information om de konfigurerede spor. Uanset om sporingen er aktiveret, kan brugeren fÄ adgang til API-data, hvis de har fÄet den relevante adgang. Under analysen af indkommende anmodninger blev typerne af nogle indtastningsfelter, der blev sendt gennem et array i JSON-blokken, bestemt forkert og blev uanset det forventede felttype fortolket som MSGPACK_OBJECT_STR type. At angive ikke-strengvÊrdier i input-arrayet, sÄsom heltalsparametre, fÞrte til hukommelsesskader, da funktionen flb_sds_create_len() hentede det overfÞrte heltal som et felt med stÞrrelsen af en streng.
Eksempel pĂ„ en anmodning, der forĂ„rsager en nedbrud: python3 -c âprint(â{\
I eksperimenterne lykkedes det forskerne at opnÄ en nÞdsituation, der fÞrte til en nedlukning af tjenesten, og at identificere det resterende indhold i hukommelsen, der blev brugt til behandling af HTTP-anmodninger, og som indeholdt eksempelvis fragmenter af fortrolige data som adgangsnÞgler. Da problemet fÞrer til en buffer-overlÞb, der afhÊnger af de overfÞrte parametre, kan det teoretisk udnyttes til at udfÞre sin kode i systemet, men forskerne, der blev opmÊrksomme pÄ problemet, testede ikke denne mulighed pÄ grund af mangel pÄ tid til at arbejde pÄ et exploit.
Kilde: opennet.ru
