Podatności Mongoose
10 znanych podatności CVE w Mongoose, przetłumaczonych i ocenionych.
- CVE-2026-42334Wysokie
Mongoose, narzędzie do modelowania obiektów MongoDB, przed wersjami 6.13.9, 7.8.9, 8.22.1 i 9.1.6 miało podatność, która pozwalała na obejście mechanizmu sanitizacji zapytań sanitizeFilter za pomocą operatora $nor. Operator ten nie był odpowiednio sanitizowany, co umożliwiało wstrzykiwanie złośliwych operatorów.
- CVE-2026-73257Krytyczne
Podatność w Mongoose przed wersją 7.22 pozwala zdalnemu nieuwierzytelnionemu atakującemu na wysłanie żądania HTTP zawierającego zarówno Content-Length, jak i Transfer-Encoding: chunked. Kontrolery cl_count i te_count akceptują oba nagłówki i priorytetyzują kodowanie chunked, co prowadzi do desynchronizacji CL.TE i umożliwia wstrzyknięcie żądań w kontekście innego użytkownika.
- CVE-2026-73256Krytyczne
Podatność w Mongoose przed wersją 7.22 umożliwia zdalnemu nieuwierzytelnionemu atakującemu wykorzystanie wdrożenia z odwrotnym proxy HTTP/1.0 poprzez wysłanie żądania z Transfer-Encoding: chunked i sprzecznym framingiem. Funkcja http_cb() testuje hm.proto.len z niemożliwym warunkiem większym niż osiem, co powoduje, że is_http_1_0 nigdy nie jest ustawiane, a Mongoose przetwarza chunked encoding, które proxy HTTP/1.0 może zignorować.
- CVE-2026-73253Krytyczne
Podatność w Mongoose przed wersją 7.22 pozwala atakującemu sieciowemu z certyfikatem wildcard dla domeny nadrzędnej na podszywanie się pod głębsze subdomeny wobec klienta używającego wbudowanego stosu TLS. Funkcje mg_tls_verify_cert_san() i mg_tls_verify_cert_cn() wywołują mg_match(), którego wildcard może przekraczać granice etykiet DNS, więc wzorzec taki jak *.example.com może pasować do foo.bar.example.com.
- CVE-2026-73251Krytyczne
Podatność w Mongoose przed wersją 7.23 pozwala atakującemu sieciowemu na podszywanie się pod serwer TLS wobec klienta Mongoose skonfigurowanego z pakietem wielu certyfikatów CA. Funkcja mg_tls_init() przechowuje pakiet w tls->ca_bundle_der, podczas gdy tls->ca_der.len pozostaje zerowe, a mg_tls_recv_cert() używa tls_bundle_find() do akceptacji dopasowania Common Name bez weryfikacji podpisu certyfikatu.
- CVE-2026-73259Średnie
Mongoose to wbudowany serwer WWW i biblioteka sieciowa. Przed wersją 7.22 zdalny atakujący może wysłać spreparowaną ścieżkę zakodowaną procentowo do wdrożenia używającego MG_ENABLE_DIRLIST i nakłonić użytkownika do jej odwiedzenia. Funkcje mg_http_serve_dir() i listdir() w src/http.c umieszczają zdekodowany URI żądania w elementach title i h1 bez kodowania encji HTML. Powstały odbity cross-site scripting wykonuje się w kontekście Mongoose i może ujawnić dane sesji lub wykonać działania jako ofiara. Problem naprawiono w wersji 7.22.
- CVE-2026-73258Średnie
Mongoose to wbudowany serwer WWW i biblioteka sieciowa. Przed wersją 7.22 zdalny atakujący może umieścić pojedynczy znak powrotu karetki lub nowej linii w danych multipart przetwarzanych przez mg_http_next_multipart() w src/http.c. Pętle porównujące s[b] i s[b+1] oraz s[h2] i s[h2+1] używają nieprawidłowego warunku AND i zatrzymują się, gdy którykolwiek znak przypomina część terminatora CRLF. To skraca nagłówki, nazwy plików lub granice i może spowodować, że aplikacja zaakceptuje niebezpieczną zawartość po zobaczeniu mylącej wartości Content-Type. Problem naprawiono w wersji 7.22.
- CVE-2026-73255Średnie
Mongoose to wbudowany serwer WWW i biblioteka sieciowa. Przed wersją 7.22 atakujący, który może kontrolować plik z włączonym SSI, może umieścić sekwencje traversal katalogów w dyrektywie #include file lub #include virtual. Funkcja mg_ssi() w src/ssi.c łączy argument dyrektywy ze ścieżką systemu plików bez wywołania mg_path_is_sane(), co pozwala wdrożeniu z MG_ENABLE_SSI i skonfigurowanym ssi_pattern na ujawnienie plików czytelnych dla procesu Mongoose. Problem naprawiono w wersji 7.22.
- CVE-2026-73254Średnie
Mongoose to wbudowany serwer WWW i biblioteka sieciowa. Przed wersją 7.22 atakujący, który może utworzyć plik z ładunkiem HTML w nazwie, może wywołać trwały cross-site scripting, gdy użytkownik przegląda katalog serwowany z MG_ENABLE_DIRLIST. Funkcja printdirentry() wywoływana przez listdir() w src/http.c koduje URL w href, ale wstawia surową nazwę pliku do tekstu linku HTML. Przeglądarka wykonuje wstrzyknięty kod w kontekście Mongoose, co może ujawnić dane sesji lub umożliwić działania jako ofiara. Problem naprawiono w wersji 7.22.
- CVE-2026-73562Średnie
Mongoose przed wersjami 6.13.10, 7.8.10, 8.24.1 i 9.7.2 ma podatność na zanieczyszczenie prototypu przez przekazanie kontrolowanego przez użytkownika update z kropkowaną ścieżką __proto__.x w $set. Proces castowania może ustawić właściwości na Object.prototype, co wpływa na integralność i dostępność aplikacji.

