Parse Server — это серверная часть с открытым исходным кодом, которую можно развернуть в любой инфраструктуре, поддерживающей Node.js. До версий 8.6.40 и 9.6.0-alpha.14 конечная точка GraphQL WebSocket для подписок не передает запросы через цепочку промежуточного программного обеспечения Express, которая обеспечивает проверку подлинности, контроль самоанализа и ограничения сложности запросов. Злоумышленник может подключиться к конечной точке WebSocket и выполнять операции GraphQL без предоставления действительного ключа приложения или API, получить доступ к схеме GraphQL посредством самоанализа, даже если общедоступный самоанализ отключен, и отправлять запросы произвольной сложности, которые обходят настроенные ограничения сложности.
Эта уязвимость исправлена в версиях 8.6.40 и 9.6.0-alpha.14.
Показать оригинальное описание (EN)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 8.6.40 and 9.6.0-alpha.14, the GraphQL WebSocket endpoint for subscriptions does not pass requests through the Express middleware chain that enforces authentication, introspection control, and query complexity limits. An attacker can connect to the WebSocket endpoint and execute GraphQL operations without providing a valid application or API key, access the GraphQL schema via introspection even when public introspection is disabled, and send arbitrarily complex queries that bypass configured complexity limits. This vulnerability is fixed in 8.6.40 and 9.6.0-alpha.14.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 15
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:*
|
— |
8.6.40
|
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:*
|
9.0.0
|
9.6.0
|
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha1:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha10:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha11:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha12:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha13:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha2:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha3:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha4:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha5:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha6:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha7:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha8:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha9:*:*:*:node.js:*:*
|
— | — |