Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

fstec логотип

BDU:2026-14263

Опубликовано: 07 июл. 2026
Источник: fstec
CVSS3: 6.2
CVSS2: 4.9
EPSS Низкий

Описание

Уязвимость библиотеки для обработки JSON и JSONC stream-json связана с алгоритмической сложностью. Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании

Вендор

Сообщество свободного программного обеспечения

Наименование ПО

stream-json

Версия ПО

до 3.4.0 включительно (stream-json)

Тип ПО

Прикладное ПО информационных систем

Операционные системы и аппаратные платформы

-

Уровень опасности уязвимости

Средний уровень опасности (базовая оценка CVSS 2.0 составляет 4,9)
Средний уровень опасности (базовая оценка CVSS 3.1 составляет 6,2)

Возможные меры по устранению уязвимости

Использование рекомендаций производителя:
https://github.com/uhop/stream-json/commit/a869fb98aaef9225556f49901a8f55954ff856e6

Статус уязвимости

Подтверждена производителем

Наличие эксплойта

Существует в открытом доступе

Информация об устранении

Уязвимость устранена

Идентификаторы других систем описаний уязвимостей

EPSS

Процентиль: 2%
0.00112
Низкий

6.2 Medium

CVSS3

4.9 Medium

CVSS2

Связанные уязвимости

CVSS3: 6.2
redhat
14 дней назад

stream-json is a micro-library of stream components for processing JSON and JSONC with a minimal memory footprint. Prior to 3.5.0, the path filters pick, ignore, filter, and replace in src/core/filters/filter-base.js recompute the full path string from the nesting stack for every checkable token. Because the stack length equals the current nesting depth and a checkable token is emitted at every level, a depth D document costs O(D²) rather than O(D) to process. The issue is triggered by nesting depth rather than byte volume, including the documented pick({filter: 'data'}) traversal-until-match path, so an application that sends untrusted JSON through a string or RegExp filter can block the Node.js event loop and cause denial of service with a small deeply nested document. The streamArray, streamObject, and streamValues streamers are not affected because they use the constant-time asm.depth getter. This issue is fixed in version 3.5.0.

CVSS3: 6.2
nvd
14 дней назад

stream-json is a micro-library of stream components for processing JSON and JSONC with a minimal memory footprint. Prior to 3.5.0, the path filters pick, ignore, filter, and replace in src/core/filters/filter-base.js recompute the full path string from the nesting stack for every checkable token. Because the stack length equals the current nesting depth and a checkable token is emitted at every level, a depth D document costs O(D²) rather than O(D) to process. The issue is triggered by nesting depth rather than byte volume, including the documented pick({filter: 'data'}) traversal-until-match path, so an application that sends untrusted JSON through a string or RegExp filter can block the Node.js event loop and cause denial of service with a small deeply nested document. The streamArray, streamObject, and streamValues streamers are not affected because they use the constant-time asm.depth getter. This issue is fixed in version 3.5.0.

CVSS3: 6.2
github
14 дней назад

stream-json: pick/ignore/filter/replace filters are O(depth²) on nested input — small crafted JSON blocks the event loop for seconds→minutes (DoS)

EPSS

Процентиль: 2%
0.00112
Низкий

6.2 Medium

CVSS3

4.9 Medium

CVSS2