VDB
Sign up
LOW3.7

GHSA-55xv-f85c-248q

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

Quick fix

GHSA-55xv-f85c-248q — jsx-slack: upgrade to the fixed version with the command below.

npm install jsx-slack@4.5.1

Details

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.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/jsx-slack
Introduced in: 0Fixed in: 4.5.1
Fixnpm install jsx-slack@4.5.1

References