CVE-2021-21391 json
Regular expression Denial of Service in multiple packages
published 2021-04-06 5 y ago modified 2026-07-08 4 mo ago also GHSA-3rh3-wfr4-76mj , EUVD-2021-0749
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.7%
- EPSS 1.7% chance of exploitation in 30 days, percentile 76%
- public exploits
- 0
- none known
Summary
CKEditor 5 provides a WYSIWYG editing solution. This CVE affects the following npm packages: ckeditor5-engine, ckeditor5-font, ckeditor5-image, ckeditor5-list, ckeditor5-markdown-gfm, ckeditor5-media-embed, ckeditor5-paste-from-office, and ckeditor5-widget. Following an internal audit, a regular expression denial of service (ReDoS) vulnerability has been discovered in multiple CKEditor 5 packages. The vulnerability allowed to abuse particular regular expressions, which could cause a significant performance drop resulting in a browser tab freeze. It affects all users using the CKEditor 5 packages listed above at version <= 26.0.0. The problem has been recognized and patched. The fix will be available in version 27.0.0.
Patch / fix
- npm @ckeditor/ckeditor5-engine 27.0.0
- npm @ckeditor/ckeditor5-font 27.0.0
- npm @ckeditor/ckeditor5-image 27.0.0
- npm @ckeditor/ckeditor5-list 27.0.0
- npm @ckeditor/ckeditor5-markdown-gfm 27.0.0
- npm @ckeditor/ckeditor5-media-embed 27.0.0
- npm @ckeditor/ckeditor5-paste-from-office 27.0.0
- npm @ckeditor/ckeditor5-widget 27.0.0
- ckeditor ckeditor5-engine 27.0.0
- ckeditor ckeditor5-font 27.0.0
- ckeditor ckeditor5-image 27.0.0
- ckeditor ckeditor5-list 27.0.0
- ckeditor ckeditor5-markdown-gfm 27.0.0
- ckeditor ckeditor5-media-embed 27.0.0
- ckeditor ckeditor5-paste-from-office 27.0.0
- ckeditor ckeditor5-widget 27.0.0
Exploit prediction
1.67% chance of exploitation in the next 30 days, higher than 76% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:N/A:P |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @ckeditor/ckeditor5-engine | <27.0.0 |
27.0.0 |
| npm | @ckeditor/ckeditor5-font | <27.0.0 |
27.0.0 |
| npm | @ckeditor/ckeditor5-image | <27.0.0 |
27.0.0 |
| npm | @ckeditor/ckeditor5-list | <27.0.0 |
27.0.0 |
| npm | @ckeditor/ckeditor5-markdown-gfm | <27.0.0 |
27.0.0 |
| npm | @ckeditor/ckeditor5-media-embed | <27.0.0 |
27.0.0 |
| npm | @ckeditor/ckeditor5-paste-from-office | <27.0.0 |
27.0.0 |
| npm | @ckeditor/ckeditor5-widget | <27.0.0 |
27.0.0 |
Affected products
- ckeditor ckeditor5
Classification
- Weakness
-
- CWE-400 Uncontrolled Resource Consumption
References
- npmjs.com /package/%40ckeditor/ckeditor5-markdown-gfm
-
github.com
/ckeditor/ckeditor5/security/advisories/GHSA-3rh3-wfr4-76mj
web, third-party-advisory
- npmjs.com /package/%40ckeditor/ckeditor5-engine
- npmjs.com /package/%40ckeditor/ckeditor5-font
- npmjs.com /package/%40ckeditor/ckeditor5-image
- npmjs.com /package/%40ckeditor/ckeditor5-list
- npmjs.com /package/%40ckeditor/ckeditor5-media-embed
- npmjs.com /package/%40ckeditor/ckeditor5-paste-from-office
- npmjs.com /package/%40ckeditor/ckeditor5-widget
-
nvd.nist.gov
/vuln/detail/CVE-2021-21391
advisory
-
github.com
/ckeditor/ckeditor5/releases/tag/v27.0.0
web
-
npmjs.com
/package/@ckeditor/ckeditor5-engine
web
-
npmjs.com
/package/@ckeditor/ckeditor5-font
web
-
npmjs.com
/package/@ckeditor/ckeditor5-image
web
-
npmjs.com
/package/@ckeditor/ckeditor5-list
web
-
npmjs.com
/package/@ckeditor/ckeditor5-markdown-gfm
web
-
npmjs.com
/package/@ckeditor/ckeditor5-media-embed
web
-
npmjs.com
/package/@ckeditor/ckeditor5-paste-from-office
web
-
npmjs.com
/package/@ckeditor/ckeditor5-widget
web
Sources
- CVE List CVE-2021-21391
- GitHub Advisory GHSA-3rh3-wfr4-76mj
- NVD CVE-2021-21391
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.