CVE-2021-43838 – jsx-slack
Package
Manager: npm
Name: jsx-slack
Vulnerable Version: >=0 <4.5.1
Severity
Level: Low
CVSS v3.1: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS v4.0: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
EPSS: 0.00334 pctl0.55653
Details
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. ```javascript /** @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 - https://nvd.nist.gov/vuln/detail/CVE-2021-43838 - https://github.com/yhatt/jsx-slack/commit/36e4a10405e4c7745333e245fcc5029c02c7065d ### Credits Thanks to @hieki for finding out this vulnerability.
Metadata
Created: 2021-12-17T19:59:02Z
Modified: 2022-01-04T19:52:06Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/12/GHSA-55xv-f85c-248q/GHSA-55xv-f85c-248q.json
CWE IDs: ["CWE-1333", "CWE-400"]
Alternative ID: GHSA-55xv-f85c-248q
Finding: F211
Auto approve: 1