Podatność klasy heap buffer overflow (CWE-122) w standalone MongoDB z włączonym trybem compute pozwala na uszkodzenie pamięci procesu poprzez spreparowane dane BSON. Może prowadzić do nieoczekiwanego zakończenia procesu lub innego niezamierzonego działania, co czyni ją zagrożeniem krytycznym dla dostępności i integralności serwera.
▸ Pokaż oryginał (EN)
When compute mode is enabled on a standalone mongod instance, insufficient validation of externally sourced BSON data during aggregation pipeline processing can result in memory corruption, potentially leading to process termination or other unintended behavior. This configuration is non-default and requires explicit enablement at startup.
Gdy tryb compute jest aktywowany na instancji standalone mongod, dane BSON pochodzące z zewnętrznych źródeł są niewystarczająco walidowane podczas przetwarzania w ramach potoku agregacji (aggregation pipeline). Brak odpowiedniej walidacji umożliwia przepełnienie bufora na stercie (heap buffer overflow), co skutkuje uszkodzeniem pamięci procesu. Podatność jest osiągalna zdalnie bez uwierzytelnienia (AV:N, PR:N), choć wymaga spełnienia pewnych warunków wstępnych (AC:H, AT:P) związanych z niedomyślną konfiguracją trybu compute.
Atakujący może doprowadzić do awaryjnego zakończenia procesu mongod (denial of service) lub wywołać inne niezamierzone zachowanie wynikające z uszkodzenia pamięci, potencjalnie obejmujące naruszenie poufności i integralności przechowywanych danych.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako środek tymczasowy zaleca się wyłączenie trybu compute na instancjach standalone mongod, o ile funkcjonalność ta nie jest niezbędna, gdyż jest to konfiguracja niedomyślna wymagająca jawnego włączenia przy starcie.
Standalone instancje MongoDB z włączonym trybem compute (opcja niedomyślna, wymagająca jawnego włączenia przy starcie). Szczegółowe informacje o dotkniętych wersjach wskazane są w referencjach producenta (jira.mongodb.org/browse/SERVER-128494).
Podatność dotyczy wyłącznie konfiguracji niedomyślnej — tryb compute musi być jawnie włączony przy starcie instancji mongod. Instancje działające z domyślnymi ustawieniami nie są narażone.
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XMongodb
APPMongodb7.0.0 – 7.0.39 (bez)8.0.0 – 8.0.28 (bez)8.2.0 – 8.2.12 (bez)8.3.0 – 8.3.7 (bez)
Powiązane podatności
MongoDB: podatność w kompresji protokołu sieciowego — DoS i modyfikacja pamięci
Mismatched length fields in Zlib compressed protocol headers may allow a read of uninitialized heap memory by ...
MongoDB: DoS poprzez wyrażenie agregacji $_internalIndexKey z compound wildcard index
MongoDB – wyczerpanie pamięci przez wyrażenia generujące duże tablice (DoS)
MongoDB: DoS przez nieprawidłowe polecenie transakcji — CWE-617