GitHub Advisoryadvisory · npm

GHSA-hp68-xhvj-x6j6 jsx-slack insufficient patch for CVE-2021-43838 ReDoS

MEDIUM Published 2022-01-06 Modified 2022-08-11 Official page ↗
Aliases
CVE-2021-43843
Ecosystem
npm
Packages
jsx-slack
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weaknesses
CWE-400
Reviewed
2022-01-04

Affected packages

• npm jsx-slack: < 4.5.2 → fixed in 4.5.2

Description

We found the patch for CVE-2021-43838 in jsx-slack v4.5.1 is insufficient to save from Regular Expression Denial of Service (ReDoS) attack. This vulnerability affects to jsx-slack v4.5.1 and earlier versions. Impact If attacker can put a lot of JSX elements into `` tag _with including multibyte characters_, 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( {[...Array(40)].map(() => ( 亜 ))} ) ``` v4.5.1 has released by passing the test against ASCII characters but missed the case of multibyte characters. https://github.com/yhatt/jsx-slack/security/advisories/GHSA-55xv-f85c-248q Patches jsx-slack v4.5.2 has updated regular expressions for escaping blockquote characters to prevent catastrophic backtracking. It is also including an updated test case to confirm rendering multiple tags in `` with multibyte characters. References • https://github.com/yhatt/jsx-slack/commit/46bc88391d89d5fda4ce689e18ca080bcdd29ecc Credits Thanks to @hieki for finding out this vulnerability.

Related

Alias · CVE (1)

  • CVE-2021-43843 jsx-slack is a package for building JSON objects for Slack block kit surfaces from JSX. vulnerability

Weakness · CWE (1)

  • CWE-400 Uncontrolled Resource Consumption weakness

References