Biblioteka DataDog::DogStatsd w wersjach do 0.07 dla języka Perl nie waliduje poprawnie danych wejściowych w tagach zdarzeń, co umożliwia wstrzyknięcie złośliwych metryk. Podatność jest krytyczna, ponieważ atakujący może manipulować danymi telemetrycznymi bez uwierzytelnienia, zdalnie przez sieć.
▸ Pokaż oryginał (EN)
DataDog::DogStatsd versions through 0.07 for Perl allow metric injections from event tags. DataDog::DogStatsd does not properly sanitise input, allowing metric injections of data from untrusted sources. The format_event method (used by the event method) does not validate the content of the tags, which may contain commas (allowing tags to be injected) or newlines, pipes and colons that allow metric injections. (There is an ineffective s/|//g to remove pipes, but because the pipe is not escaped, it is interpreted as a regular expression metacharacter and has no effect.)
Metoda format_event (wywoływana przez metodę event) nie weryfikuje zawartości tagów przekazywanych przez użytkownika. Tagi mogą zawierać przecinki (umożliwiające wstrzyknięcie dodatkowych tagów), a także znaki nowej linii, pipe'y i dwukropki, które pozwalają na wstrzyknięcie dowolnych metryk do strumienia StatsD. Próba usunięcia znaków pipe za pomocą wyrażenia s/|//g jest nieskuteczna, ponieważ znak pipe nie jest w niej odpowiednio zaescapowany i jest traktowany jako metaznak wyrażenia regularnego, przez co operacja podstawienia nie wywiera żadnego efektu.
Atakujący mogący dostarczyć dane do tagów zdarzeń (np. z niezaufanych źródeł) może wstrzyknąć dowolne metryki i tagi, manipulując danymi monitoringu oraz potencjalnie naruszając integralność i poufność zbieranych danych telemetrycznych.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako obejście należy ograniczyć przyjmowanie danych z niezaufanych źródeł jako tagów zdarzeń oraz ręcznie sanityzować dane wejściowe przed przekazaniem ich do metody event.
DataDog::DogStatsd dla Perl w wersjach do 0.07 włącznie
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBinary Datadog\
APPBinary\