Katalog CVE

CVE-2026-125119

WysokieCVSS 7.5
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Mongoose przechowuje opcję sanitizeFilter na poziomie połączenia w Connection.config, ale Query.prototype._castConditions() i rzutowanie zapytań sprawdzają inne lokalizacje opcji i nie odczytują tej konfiguracji. Aplikacja, która włącza sanitizeFilter przez mongoose.connect() lub createConnection() i przekazuje obiekt kontrolowany przez atakującego do filtra zapytania, otrzymuje połączenie raportujące włączoną ochronę, podczas gdy obiekty selektorów pozostają niesanityzowane. Wykorzystanie operatora zapytania w haśle może dopasować konto bez znajomości literalnego hasła.

Ocena ryzyka

Atakujący może obejść uwierzytelnianie, dopasowując rekord konta za pomocą operatora zapytania zamiast prawidłowego hasła. Ryzyko dotyczy aplikacji, które polegają na sanitizeFilter ustawionym przez connect() lub createConnection().

Rekomendacja

Zaktualizuj Mongoose do wersji 6.13.12, 7.8.13, 8.24.7 lub 9.11.4 (lub nowszej). Do czasu aktualizacji używaj globalnej konfiguracji mongoose.set('sanitizeFilter') lub per-query Model.find().sanitizeFilter().

Inne podatności w Mongoose

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. From 6.0.0 until 6.13.12, 7.8.13, 8.24.7, and 9.11.4, Mongoose stores the connection-level sanitizeFilter option in Connection.config, but Query.prototype._castConditions() and query casting check other option locations and do not read that configuration. An application that enables sanitizeFilter through mongoose.connect() or createConnection() and passes an attacker-controlled object into a query filter therefore receives a connection that reports the defense as enabled while query selector objects remain unsanitized. A crafted password value using a query operator can match an account record without the expected literal password, while global configuration through mongoose.set('sanitizeFilter') and per-query Model.find().sanitizeFilter() remain unaffected. This issue is fixed in versions 6.13.12, 7.8.13, 8.24.7, and 9.11.4.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS