CVE-2021-43843 json
Insufficient patch for Regular Expression Denial of Service (ReDoS) to jsx-slack v4.5.1
published 2021-12-20 4 y ago modified 2026-06-17 4 mo ago also GHSA-hp68-xhvj-x6j6 , EUVD-2022-0618
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.0%
- EPSS 2.0% chance of exploitation in 30 days, percentile 80%
- public exploits
- 0
- none known
Summary
jsx-slack is a package for building JSON objects for Slack block kit surfaces from JSX. The maintainers found the patch for CVE-2021-43838 in jsx-slack v4.5.1 is insufficient tfor protection from a Regular Expression Denial of Service (ReDoS) attack. If an attacker can put a lot of JSX elements into `<blockquote>` tag _with including multibyte characters_, an internal regular expression for escaping characters may consume an excessive amount of computing resources. v4.5.1 passes the test against ASCII characters but misses the case of multibyte characters. 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 `<blockquote>` with multibyte characters.
Patch / fix
- npm jsx-slack 4.5.2
- jsx-slack_project jsx-slack 4.5.2
Exploit prediction
1.98% chance of exploitation in the next 30 days, higher than 80% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/yhatt/jsx-slack/security/advisories/GHSA-hp68-xhvj-x6j6 referenced PoC, tagged "exploit" by a source, unverified
- github.com https://github.com/yhatt/jsx-slack/security/advisories/GHSA-55xv-f85c-248q referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:N/A:P |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | jsx-slack | <4.5.2 |
4.5.2 |
Affected products
- yhatt jsx-slack
Classification
References
-
github.com
/yhatt/jsx-slack/commit/46bc88391d89d5fda4ce689e18ca080bcdd29ecc
web, patch, third-party-advisory
-
github.com
/yhatt/jsx-slack/security/advisories/GHSA-hp68-xhvj-x6j6
web, exploit, patch, third-party-advisory
-
github.com
/yhatt/jsx-slack/security/advisories/GHSA-55xv-f85c-248q
web, exploit, patch, third-party-advisory
-
github.com
/yhatt/jsx-slack/releases/tag/v4.5.2
web, release-notes, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-43843
advisory
-
github.com
/yhatt/jsx-slack/security
web
Sources
- CVE List CVE-2021-43843
- GitHub Advisory GHSA-hp68-xhvj-x6j6
- NVD CVE-2021-43843
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.