CVE-2021-21391 | Regular expression Denial of Service in multiple packages

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.

Published: 2021-04-29 Last update: 2024-11-21 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2021-21391 is rated Moderate Risk (49.1/100): CVSS Medium severity, with medium exploitation likelihood (EPSS 1.35%). Mandatory action: Review affected assets and schedule remediation.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2021-21391

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-05-18 8.30% 1.35% -6.95%
2 2026-03-04 1.35% 8.30% +6.95%
3 2026-03-01 1.35%

Full EPSS history (26 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2021-21391

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
6.5 3.1 MEDIUM
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:R)
A real person has to do something—click, install, enable—otherwise it doesn’t land.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
2.8 3.6 [email protected]
6.5 3.1 MEDIUM
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:R)
A real person has to do something—click, install, enable—otherwise it doesn’t land.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
2.8 3.6 [email protected]
4.3 2.0 MEDIUM
AV:N/AC:M/Au:N/C:N/I:N/A:P Click to expand
Access vector (AV:N)
Can be exploited remotely over network reachability.
Access complexity (AC:M)
Exploitation needs some favorable conditions, but not exceptional ones.
Authentication (AU:N)
No authentication is required.
Confidentiality impact (C:N)
No confidentiality impact.
Integrity impact (I:N)
No integrity impact.
Availability impact (A:P)
Partial availability impact.
8.6 2.9 [email protected]

Weakness enumeration for CVE-2021-21391

GitHub Security Advisory for CVE-2021-21391

GHSA-3rh3-wfr4-76mj · Severity: medium · Ecosystem: npm — Regular expression Denial of Service in multiple packages

OS Trackers for CVE-2021-21391

vendor priority summary link
ubuntu medium CVE-2021-21391 medium priority: Ubuntu including 2 source packages (ckeditor, ckeditor3), 32 status rows across 16 suites (bionic, focal, groovy, hirsute, impish, jammy, kinetic, lunar, mantic, noble, oracular, plucky, questing, trusty, upstream, xenial): not-affected 12, ignored 10, needs-triage 6, DNE 4. https://ubuntu.com/security/CVE-2021-21391

Affected software / configurations for CVE-2021-21391

Vendor Product Version Raw CPE
ckeditor ckeditor5-engine < 27.0.0 cpe:2.3:a:ckeditor:ckeditor5-engine:*:*:*:*:*:node.js:*:*
ckeditor ckeditor5-font < 27.0.0 cpe:2.3:a:ckeditor:ckeditor5-font:*:*:*:*:*:node.js:*:*
ckeditor ckeditor5-image < 27.0.0 cpe:2.3:a:ckeditor:ckeditor5-image:*:*:*:*:*:node.js:*:*
ckeditor ckeditor5-list < 27.0.0 cpe:2.3:a:ckeditor:ckeditor5-list:*:*:*:*:*:node.js:*:*
ckeditor ckeditor5-markdown-gfm < 27.0.0 cpe:2.3:a:ckeditor:ckeditor5-markdown-gfm:*:*:*:*:*:node.js:*:*
ckeditor ckeditor5-media-embed < 27.0.0 cpe:2.3:a:ckeditor:ckeditor5-media-embed:*:*:*:*:*:node.js:*:*
ckeditor ckeditor5-paste-from-office < 27.0.0 cpe:2.3:a:ckeditor:ckeditor5-paste-from-office:*:*:*:*:*:node.js:*:*
ckeditor ckeditor5-widget < 27.0.0 cpe:2.3:a:ckeditor:ckeditor5-widget:*:*:*:*:*:node.js:*:*

References for CVE-2021-21391

cvelogic Threat Intelligence