JSON5 — это расширение популярного формата файлов JSON, которое призвано быть более простым в написании и обслуживании вручную (например, д…
JSON5 — это расширение популярного формата файлов JSON, которое призвано быть более простым в написании и обслуживании вручную (например, для файлов конфигурации). Метод `parse` библиотеки JSON5 до версий 1.0.1 и 2.2.1 включительно не ограничивает синтаксический анализ ключей с именем `__proto__`, позволяя специально созданным строкам загрязнять прототип результирующего объекта. Эта уязвимость загрязняет прототип объекта, возвращаемого `JSON5.parse`, а не глобальный прототип Object, который является общепринятым определением загрязнения прототипа. Однако загрязнение прототипа одного объекта может иметь значительные последствия для безопасности приложения, если объект впоследствии используется в доверенных операциях. Эта уязвимость может позволить злоумышленнику устанавливать произвольные и неожиданные ключи для объекта, возвращаемого из `JSON5.parse`. Фактическое воздействие будет зависеть от того, как приложения используют возвращаемый объект и как они фильтруют нежелательные ключи, но может включать отказ в обслуживании, межсайтовый скриптинг, повышение привилегий и, в крайних случаях, удаленное выполнение кода. `JSON5.parse` должен ограничивать синтаксический анализ ключей `__proto__` при синтаксическом анализе строк JSON в объекты. В качестве ориентира метод `JSON.parse`, включенный в JavaScript, игнорирует ключи `__proto__`. Простое изменение `JSON5.parse` на `JSON.parse` в приведенных выше примерах смягчает эту уязвимость. Эта уязвимость исправлена в json5 версий 1.0.2, 2.2.2 и более поздних.
Продукт получает входные данные от вышестоящего компонента, задающие атрибуты для инициализации или обновления в объекте, однако не обеспечивает надлежащего контроля модификаций атрибутов прототипа объекта.
https://cwe.mitre.org/data/definitions/1321.html →Открыть в коллекции CWE →В приложениях, особенно веб-приложениях, доступ к функциональности ограничивается системой авторизации. Эта система сопоставляет списки контроля доступа (ACL) с элементами функциональности приложения — в частности, с URL-адресами веб-приложений. Если администратор не задал ACL для определённого элемента, злоумышленник может получить к нему доступ безнаказанно. Злоумышленник, способный обращаться к функциональности, не ограниченной ACL должным образом, может получить конфиденциальную информацию и, возможно, скомпрометировать приложение целиком. Такой злоумышленник может обращаться к ресурсам, которые должны быть доступны только пользователям с более высоким уровнем привилегий, получать доступ к административным разделам приложения или выполнять запросы на получение данных, к которым у него не должно быть доступа.
https://capec.mitre.org/data/definitions/1.html →Открыть в коллекции CAPEC →Данная атака направлена на переменные, управляемые пользователем (DEBUG=1, PHP Globals и т. д.). Злоумышленник может переопределять переменные, используя переменные запроса, предоставляемые пользователем и применяемые непосредственно на сервере приложений без какой-либо санитизации данных. В крайних случаях злоумышленник может изменять переменные, управляющие бизнес-логикой приложения. Например, в языках наподобие PHP ряд неудачно заданных конфигураций по умолчанию может позволить пользователю переопределять переменные.
https://capec.mitre.org/data/definitions/77.html →Открыть в коллекции CAPEC →Злоумышленник эксплуатирует слабость в конфигурации средств контроля доступа и способен обойти предусмотренную этими механизмами защиту, получив тем самым несанкционированный доступ к системе или сети. Чувствительная функциональность всегда должна быть защищена средствами контроля доступа. Однако настройка всех, кроме самых простых, систем контроля доступа может быть весьма сложной задачей, при выполнении которой возможны многочисленные ошибки. Если злоумышленник способен обнаружить некорректно настроенные параметры безопасности доступа, он может эксплуатировать их в атаке.
https://capec.mitre.org/data/definitions/180.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| node-json5 | Отслеживается | |
| rh-sso7-keycloak | Отслеживается | |
| rh-sso7-keycloak | Отслеживается | |
| rh-sso7-keycloak | Отслеживается | |
| fedora | * | Отслеживается |
| json5 | * | Отслеживается |