Parse Server — это серверная часть с открытым исходным кодом, которую можно развернуть в любой инфраструктуре, поддерживающей Node.js. До версий 9.6.0-alpha.20 и 8.6.44 злоумышленник мог обойти защиту списка запрещенных ключевых слов запроса по умолчанию и разрешение на добавление полей на уровне класса, отправив созданный запрос, который использует загрязнение прототипа в механизме глубокого копирования. Это позволяет внедрять поля в схемы классов, в которых добавление полей заблокировано, и может вызвать постоянные конфликты типов схем, которые невозможно разрешить даже с помощью главного ключа.
В версиях 9.6.0-alpha.20 и 8.6.44 уязвимая сторонняя библиотека глубокого копирования была заменена встроенным механизмом глубокого клонирования, который безопасно обрабатывает свойства прототипа, позволяя существующей проверке списка запретов правильно обнаруживать и отклонять запрещенное ключевое слово. Никаких известных обходных путей не существует.
Показать оригинальное описание (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.20 and 8.6.44, an attacker can bypass the default request keyword denylist protection and the class-level permission for adding fields by sending a crafted request that exploits prototype pollution in the deep copy mechanism. This allows injecting fields into class schemas that have field addition locked down, and can cause permanent schema type conflicts that cannot be resolved even with the master key. In 9.6.0-alpha.20 and 8.6.44, the vulnerable third-party deep copy library has been replaced with a built-in deep clone mechanism that handles prototype properties safely, allowing the existing denylist check to correctly detect and reject the prohibited keyword. No known workarounds are available.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 21
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:*
|
— |
8.6.44
|
|
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:alpha14:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha15:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha16:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha17:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha18:*:*:*:node.js:*:*
|
— | — |
|
Parseplatform Parse-Server
cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha19:*:*:*: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:*:*
|
— | — |