Regular expression Denial of Service in multiple packages
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-400.
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| ckeditor | ckeditor5 | before 27.0.0 | 27.0.0 | Patch available | CNA |
| — | @ckeditor/ckeditor5-engine (npm) | before 27.0.0 | 27.0.0 | Patch available | GHSA-3rh3-wfr4-76mj |
| — | @ckeditor/ckeditor5-font (npm) | before 27.0.0 | 27.0.0 | Patch available | GHSA-3rh3-wfr4-76mj |
| — | @ckeditor/ckeditor5-image (npm) | before 27.0.0 | 27.0.0 | Patch available | GHSA-3rh3-wfr4-76mj |
| — | @ckeditor/ckeditor5-list (npm) | before 27.0.0 | 27.0.0 | Patch available | GHSA-3rh3-wfr4-76mj |
| — | @ckeditor/ckeditor5-markdown-gfm (npm) | before 27.0.0 | 27.0.0 | Patch available | GHSA-3rh3-wfr4-76mj |
| — | @ckeditor/ckeditor5-media-embed (npm) | before 27.0.0 | 27.0.0 | Patch available | GHSA-3rh3-wfr4-76mj |
| — | @ckeditor/ckeditor5-paste-from-office (npm) | before 27.0.0 | 27.0.0 | Patch available | GHSA-3rh3-wfr4-76mj |
| — | @ckeditor/ckeditor5-widget (npm) | before 27.0.0 | 27.0.0 | Patch available | GHSA-3rh3-wfr4-76mj |
- ckeditor5 Vendorckeditor Affected before 27.0.0 Fixed in 27.0.0 Patch available CNA
- @ckeditor/ckeditor5-engine (npm) Vendor— Affected before 27.0.0 Fixed in 27.0.0 Patch available GHSA-3rh3-wfr4-76mj
- @ckeditor/ckeditor5-font (npm) Vendor— Affected before 27.0.0 Fixed in 27.0.0 Patch available GHSA-3rh3-wfr4-76mj
- @ckeditor/ckeditor5-image (npm) Vendor— Affected before 27.0.0 Fixed in 27.0.0 Patch available GHSA-3rh3-wfr4-76mj
- @ckeditor/ckeditor5-list (npm) Vendor— Affected before 27.0.0 Fixed in 27.0.0 Patch available GHSA-3rh3-wfr4-76mj
- @ckeditor/ckeditor5-markdown-gfm (npm) Vendor— Affected before 27.0.0 Fixed in 27.0.0 Patch available GHSA-3rh3-wfr4-76mj
- @ckeditor/ckeditor5-media-embed (npm) Vendor— Affected before 27.0.0 Fixed in 27.0.0 Patch available GHSA-3rh3-wfr4-76mj
- @ckeditor/ckeditor5-paste-from-office (npm) Vendor— Affected before 27.0.0 Fixed in 27.0.0 Patch available GHSA-3rh3-wfr4-76mj
- @ckeditor/ckeditor5-widget (npm) Vendor— Affected before 27.0.0 Fixed in 27.0.0 Patch available GHSA-3rh3-wfr4-76mj
CPE configurations NVD · 8
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:ckeditor:ckeditor5-engine:*:*:*:*:*:node.js:*:* | before 27.0.0 | Vulnerable | ckeditor |
| cpe:2.3:a:ckeditor:ckeditor5-font:*:*:*:*:*:node.js:*:* | before 27.0.0 | Vulnerable | ckeditor |
| cpe:2.3:a:ckeditor:ckeditor5-image:*:*:*:*:*:node.js:*:* | before 27.0.0 | Vulnerable | ckeditor |
| cpe:2.3:a:ckeditor:ckeditor5-list:*:*:*:*:*:node.js:*:* | before 27.0.0 | Vulnerable | ckeditor |
| cpe:2.3:a:ckeditor:ckeditor5-markdown-gfm:*:*:*:*:*:node.js:*:* | before 27.0.0 | Vulnerable | ckeditor |
| cpe:2.3:a:ckeditor:ckeditor5-media-embed:*:*:*:*:*:node.js:*:* | before 27.0.0 | Vulnerable | ckeditor |
| cpe:2.3:a:ckeditor:ckeditor5-paste-from-office:*:*:*:*:*:node.js:*:* | before 27.0.0 | Vulnerable | ckeditor |
| cpe:2.3:a:ckeditor:ckeditor5-widget:*:*:*:*:*:node.js:*:* | before 27.0.0 | Vulnerable | ckeditor |
- cpe:2.3:a:ckeditor:ckeditor5-engine:*:*:*:*:*:node.js:*:* Versions before 27.0.0 Vulnerable ·ckeditor
- cpe:2.3:a:ckeditor:ckeditor5-font:*:*:*:*:*:node.js:*:* Versions before 27.0.0 Vulnerable ·ckeditor
- cpe:2.3:a:ckeditor:ckeditor5-image:*:*:*:*:*:node.js:*:* Versions before 27.0.0 Vulnerable ·ckeditor
- cpe:2.3:a:ckeditor:ckeditor5-list:*:*:*:*:*:node.js:*:* Versions before 27.0.0 Vulnerable ·ckeditor
- cpe:2.3:a:ckeditor:ckeditor5-markdown-gfm:*:*:*:*:*:node.js:*:* Versions before 27.0.0 Vulnerable ·ckeditor
- cpe:2.3:a:ckeditor:ckeditor5-media-embed:*:*:*:*:*:node.js:*:* Versions before 27.0.0 Vulnerable ·ckeditor
- cpe:2.3:a:ckeditor:ckeditor5-paste-from-office:*:*:*:*:*:node.js:*:* Versions before 27.0.0 Vulnerable ·ckeditor
- cpe:2.3:a:ckeditor:ckeditor5-widget:*:*:*:*:*:node.js:*:* Versions before 27.0.0 Vulnerable ·ckeditor
Remediation
- Fix · CNA ckeditor5 (ckeditor) Fixed in 27.0.0
- Fix · GHSA-3rh3-wfr4-76mj @ckeditor/ckeditor5-engine (npm) Fixed in 27.0.0 Advisory →
- Fix · GHSA-3rh3-wfr4-76mj @ckeditor/ckeditor5-font (npm) Fixed in 27.0.0 Advisory →
- Fix · GHSA-3rh3-wfr4-76mj @ckeditor/ckeditor5-image (npm) Fixed in 27.0.0 Advisory →
- Fix · GHSA-3rh3-wfr4-76mj @ckeditor/ckeditor5-list (npm) Fixed in 27.0.0 Advisory →
- Fix · GHSA-3rh3-wfr4-76mj @ckeditor/ckeditor5-markdown-gfm (npm) Fixed in 27.0.0 Advisory →
- Fix · GHSA-3rh3-wfr4-76mj @ckeditor/ckeditor5-media-embed (npm) Fixed in 27.0.0 Advisory →
- Fix · GHSA-3rh3-wfr4-76mj @ckeditor/ckeditor5-paste-from-office (npm) Fixed in 27.0.0 Advisory →
- Fix · GHSA-3rh3-wfr4-76mj @ckeditor/ckeditor5-widget (npm) Fixed in 27.0.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2021-21391
- 2026-10-03 Alias added: GHSA-3rh3-wfr4-76mj
References
Advisory 2
Other 17
- https://www.npmjs.com/package/%40ckeditor/ckeditor5-markdown-gfm
- https://www.npmjs.com/package/%40ckeditor/ckeditor5-engine
- https://www.npmjs.com/package/%40ckeditor/ckeditor5-font
- https://www.npmjs.com/package/%40ckeditor/ckeditor5-image
- https://www.npmjs.com/package/%40ckeditor/ckeditor5-list
- https://www.npmjs.com/package/%40ckeditor/ckeditor5-media-embed
- https://www.npmjs.com/package/%40ckeditor/ckeditor5-paste-from-office
- https://www.npmjs.com/package/%40ckeditor/ckeditor5-widget
- https://github.com/ckeditor/ckeditor5/releases/tag/v27.0.0
- https://www.npmjs.com/package/@ckeditor/ckeditor5-engine
- https://www.npmjs.com/package/@ckeditor/ckeditor5-font
- https://www.npmjs.com/package/@ckeditor/ckeditor5-image
- https://www.npmjs.com/package/@ckeditor/ckeditor5-list
- https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm
- https://www.npmjs.com/package/@ckeditor/ckeditor5-media-embed
- https://www.npmjs.com/package/@ckeditor/ckeditor5-paste-from-office
- https://www.npmjs.com/package/@ckeditor/ckeditor5-widget
Sources
- CVE-2021-21391 · CVE Program
- CVE-2021-21391 · NVD
- FIRST EPSS
- GHSA-3rh3-wfr4-76mj · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences