Parse Server w wersjach przed 9.6.0-alpha.2 i 8.6.28 jest podatny na SQL injection w bazach PostgreSQL poprzez nieprawidłowe escapowanie wartości pól w notacji kropkowej (dot-notation). Podatność jest krytyczna, ponieważ nie wymaga uwierzytelnienia ani żadnej interakcji użytkownika.
▸ Pokaż oryginał (EN)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.2 and 8.6.28, an attacker can use a dot-notation field name in combination with the sort query parameter to inject SQL into the PostgreSQL database through an improper escaping of sub-field values in dot-notation queries. The vulnerability may also affect queries that use dot-notation field names with the distinct and where query parameters. This vulnerability only affects deployments using a PostgreSQL database. This vulnerability is fixed in 9.6.0-alpha.2 and 8.6.28.
Atakujący może wykorzystać nazwy pól w formacie dot-notation w połączeniu z parametrem zapytania sort, aby wstrzyknąć złośliwy kod SQL do bazy danych PostgreSQL. Błąd wynika z nieprawidłowego escapowania wartości sub-pól w zapytaniach dot-notation. Podatność może również dotyczyć zapytań używających dot-notation z parametrami distinct oraz where. Problem dotyczy wyłącznie instalacji korzystających z bazy danych PostgreSQL.
Atakujący może przeprowadzić atak SQL injection, co w zależności od konfiguracji bazy danych może prowadzić do nieautoryzowanego odczytu, modyfikacji lub usunięcia danych przechowywanych w bazie PostgreSQL.
Należy zaktualizować Parse Server do wersji 8.6.28 lub 9.6.0-alpha.2. Patche dostępne są w repozytorium GitHub projektu: https://github.com/parse-community/parse-server/releases/tag/8.6.28 oraz https://github.com/parse-community/parse-server/releases/tag/9.6.0-alpha.2. Jako obejście tymczasowe warto rozważyć przejście na inną obsługiwaną bazę danych lub ograniczenie dostępu do API.
Parse Server (parse-community/parse-server) w wersjach wcześniejszych niż 8.6.28 oraz wcześniejszych niż 9.6.0-alpha.2, wyłącznie w konfiguracjach używających bazy danych PostgreSQL.
Podatność dotyczy wyłącznie deploymentów z bazą danych PostgreSQL — instalacje używające innych silników bazodanowych (np. MongoDB) nie są zagrożone.
CVSS:4.0/AV:N/AC:L/AT:N/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:XParseplatform Parse Server
APPParseplatform9.6.0< 8.6.289.0.0 – 9.6.0 (bez)
Powiązane podatności
Parse Server: obejście walidatorów Cloud Functions przez prototype chain
Race condition w Parse Server — błędna walidacja tokenów OAuth2
Parse Server — przejęcie konta przez manipulację zapytaniem (Auth Bypass)
SQL Injection w Parse Server (PostgreSQL) — operacje Increment na polach zagnieżdżonych
SQL Injection w Parse Server (PostgreSQL) — operacje Increment na zagnieżdżonych polach