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

exploitDog

github логотип

GHSA-55xv-f85c-248q

Опубликовано: 17 дек. 2021
Источник: github
Github: Прошло ревью
CVSS3: 3.7

Описание

Regular Expression Denial of Service (ReDoS) in jsx-slack

jsx-slack v4.5.1 and earlier versions are vulnerable to a regular expression denial-of-service (ReDoS) attack.

Impact

If attacker can put a lot of JSX elements into <blockquote> tag, an internal regular expression for escaping characters may consume an excessive amount of computing resources.

/** @jsxImportSource jsx-slack */ import { Section } from 'jsx-slack' console.log( <Section> <blockquote> {[...Array(40)].map((_, i) => ( <p>{i + 1}</p> ))} </blockquote> </Section> )

Patches

See also: https://github.com/yhatt/jsx-slack/security/advisories/GHSA-hp68-xhvj-x6j6

jsx-slack v4.5.2 has updated regular expressions to prevent catastrophic backtracking.

jsx-slack v4.5.1 also had patched a workaround. It has no problems to contents with ASCII characters, but still vulnerable to contents with multibyte characters. (https://github.com/yhatt/jsx-slack/commit/36e4a10405e4c7745333e245fcc5029c02c7065d)

References

Credits

Thanks to @hieki for finding out this vulnerability.

Пакеты

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

jsx-slack

npm
Затронутые версииВерсия исправления

< 4.5.1

4.5.1

EPSS

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

3.7 Low

CVSS3

Дефекты

CWE-1333
CWE-400

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

CVSS3: 5.3
nvd
около 4 лет назад

jsx-slack is a library for building JSON objects for Slack Block Kit surfaces from JSX. In versions prior to 4.5.1 users are vulnerable to a regular expression denial-of-service (ReDoS) attack. If attacker can put a lot of JSX elements into `<blockquote>` tag, an internal regular expression for escaping characters may consume an excessive amount of computing resources. jsx-slack v4.5.1 has patched to a regex for escaping blockquote characters. Users are advised to upgrade as soon as possible.

EPSS

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

3.7 Low

CVSS3

Дефекты

CWE-1333
CWE-400