CVE-2021-21391 (GCVE-0-2021-21391)

Vulnerability from cvelistv5 – Published: 2021-04-29 00:20 – Updated: 2024-08-03 18:09
VLAI
Title
Regular expression Denial of Service in multiple packages
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.
CWE
  • CWE-400 - Uncontrolled Resource Consumption
Impacted products
Vendor Product Version CPE status
ckeditor ckeditor5 Affected: < 27.0.0
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-03T18:09:15.938Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-markdown-gfm"
          },
          {
            "tags": [
              "x_refsource_CONFIRM",
              "x_transferred"
            ],
            "url": "https://github.com/ckeditor/ckeditor5/security/advisories/GHSA-3rh3-wfr4-76mj"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-engine"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-font"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-image"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-list"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-media-embed"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-paste-from-office"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-widget"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "ckeditor5",
          "vendor": "ckeditor",
          "versions": [
            {
              "status": "affected",
              "version": "\u003c 27.0.0"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "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 \u003c= 26.0.0. The problem has been recognized and patched. The fix will be available in version 27.0.0."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 6.5,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "NONE",
            "integrityImpact": "NONE",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-400",
              "description": "CWE-400: Uncontrolled Resource Consumption",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2021-04-29T00:20:19.000Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-markdown-gfm"
        },
        {
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/ckeditor/ckeditor5/security/advisories/GHSA-3rh3-wfr4-76mj"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-engine"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-font"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-image"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-list"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-media-embed"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-paste-from-office"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-widget"
        }
      ],
      "source": {
        "advisory": "GHSA-3rh3-wfr4-76mj",
        "discovery": "UNKNOWN"
      },
      "title": "Regular expression Denial of Service in multiple packages",
      "x_legacyV4Record": {
        "CVE_data_meta": {
          "ASSIGNER": "security-advisories@github.com",
          "ID": "CVE-2021-21391",
          "STATE": "PUBLIC",
          "TITLE": "Regular expression Denial of Service in multiple packages"
        },
        "affects": {
          "vendor": {
            "vendor_data": [
              {
                "product": {
                  "product_data": [
                    {
                      "product_name": "ckeditor5",
                      "version": {
                        "version_data": [
                          {
                            "version_value": "\u003c 27.0.0"
                          }
                        ]
                      }
                    }
                  ]
                },
                "vendor_name": "ckeditor"
              }
            ]
          }
        },
        "data_format": "MITRE",
        "data_type": "CVE",
        "data_version": "4.0",
        "description": {
          "description_data": [
            {
              "lang": "eng",
              "value": "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 \u003c= 26.0.0. The problem has been recognized and patched. The fix will be available in version 27.0.0."
            }
          ]
        },
        "impact": {
          "cvss": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 6.5,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "NONE",
            "integrityImpact": "NONE",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
            "version": "3.1"
          }
        },
        "problemtype": {
          "problemtype_data": [
            {
              "description": [
                {
                  "lang": "eng",
                  "value": "CWE-400: Uncontrolled Resource Consumption"
                }
              ]
            }
          ]
        },
        "references": {
          "reference_data": [
            {
              "name": "https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm",
              "refsource": "MISC",
              "url": "https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm"
            },
            {
              "name": "https://github.com/ckeditor/ckeditor5/security/advisories/GHSA-3rh3-wfr4-76mj",
              "refsource": "CONFIRM",
              "url": "https://github.com/ckeditor/ckeditor5/security/advisories/GHSA-3rh3-wfr4-76mj"
            },
            {
              "name": "https://www.npmjs.com/package/@ckeditor/ckeditor5-engine",
              "refsource": "MISC",
              "url": "https://www.npmjs.com/package/@ckeditor/ckeditor5-engine"
            },
            {
              "name": "https://www.npmjs.com/package/@ckeditor/ckeditor5-font",
              "refsource": "MISC",
              "url": "https://www.npmjs.com/package/@ckeditor/ckeditor5-font"
            },
            {
              "name": "https://www.npmjs.com/package/@ckeditor/ckeditor5-image",
              "refsource": "MISC",
              "url": "https://www.npmjs.com/package/@ckeditor/ckeditor5-image"
            },
            {
              "name": "https://www.npmjs.com/package/@ckeditor/ckeditor5-list",
              "refsource": "MISC",
              "url": "https://www.npmjs.com/package/@ckeditor/ckeditor5-list"
            },
            {
              "name": "https://www.npmjs.com/package/@ckeditor/ckeditor5-media-embed",
              "refsource": "MISC",
              "url": "https://www.npmjs.com/package/@ckeditor/ckeditor5-media-embed"
            },
            {
              "name": "https://www.npmjs.com/package/@ckeditor/ckeditor5-paste-from-office",
              "refsource": "MISC",
              "url": "https://www.npmjs.com/package/@ckeditor/ckeditor5-paste-from-office"
            },
            {
              "name": "https://www.npmjs.com/package/@ckeditor/ckeditor5-widget",
              "refsource": "MISC",
              "url": "https://www.npmjs.com/package/@ckeditor/ckeditor5-widget"
            }
          ]
        },
        "source": {
          "advisory": "GHSA-3rh3-wfr4-76mj",
          "discovery": "UNKNOWN"
        }
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2021-21391",
    "datePublished": "2021-04-29T00:20:19.000Z",
    "dateReserved": "2020-12-22T00:00:00.000Z",
    "dateUpdated": "2024-08-03T18:09:15.938Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2021-21391",
      "date": "2026-09-25",
      "epss": "0.01667",
      "percentile": "0.75762"
    },
    "nvd": {
      "cve": {
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:a:ckeditor:ckeditor5-engine:*:*:*:*:*:node.js:*:*",
                    "matchCriteriaId": "67079ED7-67C7-43E6-B2ED-FC8F38073844",
                    "versionEndExcluding": "27.0.0",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:a:ckeditor:ckeditor5-font:*:*:*:*:*:node.js:*:*",
                    "matchCriteriaId": "49A57CEA-AF9A-406B-97E3-0174F98CF961",
                    "versionEndExcluding": "27.0.0",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:a:ckeditor:ckeditor5-image:*:*:*:*:*:node.js:*:*",
                    "matchCriteriaId": "8AA7F807-41B2-492E-AC3F-ECC940A9D087",
                    "versionEndExcluding": "27.0.0",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:a:ckeditor:ckeditor5-list:*:*:*:*:*:node.js:*:*",
                    "matchCriteriaId": "ECFF8404-52EF-49E0-BB96-5C366362DD9E",
                    "versionEndExcluding": "27.0.0",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:a:ckeditor:ckeditor5-markdown-gfm:*:*:*:*:*:node.js:*:*",
                    "matchCriteriaId": "2DDE77C4-ECA2-490F-8B67-D9CC0990FF33",
                    "versionEndExcluding": "27.0.0",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:a:ckeditor:ckeditor5-media-embed:*:*:*:*:*:node.js:*:*",
                    "matchCriteriaId": "C9FD93F0-391D-4910-846C-B972D0737066",
                    "versionEndExcluding": "27.0.0",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:a:ckeditor:ckeditor5-paste-from-office:*:*:*:*:*:node.js:*:*",
                    "matchCriteriaId": "2B80F6F9-37B6-4FE3-B7C6-07931AD022BD",
                    "versionEndExcluding": "27.0.0",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:a:ckeditor:ckeditor5-widget:*:*:*:*:*:node.js:*:*",
                    "matchCriteriaId": "2BD4B908-0A73-4410-813D-34A4108052D0",
                    "versionEndExcluding": "27.0.0",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "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 \u003c= 26.0.0. The problem has been recognized and patched. The fix will be available in version 27.0.0."
          },
          {
            "lang": "es",
            "value": "CKEditor 5 proporciona una soluci\u00f3n de edici\u00f3n WYSIWYG.\u0026#xa0;Este CVE afecta a los siguientes paquetes npm: ckeditor5-engine, ckeditor5-font, ckeditor5-image, ckeditor5-list, ckeditor5-markdown-gfm, ckeditor5-media-embed, ckeditor5-paste-from-office y ckeditor5-widget.\u0026#xa0;Despu\u00e9s de una auditor\u00eda interna, se detect\u00f3 una vulnerabilidad de denegaci\u00f3n de servicio de expresi\u00f3n regular (ReDoS) en varios paquetes de CKEditor 5.\u0026#xa0;La vulnerabilidad permiti\u00f3 abusar de determinadas expresiones regulares, lo que podr\u00eda causar una perdida significativa del rendimiento, lo que causar\u00eda la congelaci\u00f3n de la pesta\u00f1a del navegador.\u0026#xa0;Afecta a todos los usuarios que usan los paquetes CKEditor 5 enumerados anteriormente en la versi\u00f3n anterior a 26.0.0 e incluy\u00e9ndola.\u0026#xa0;El problema ha sido reconocido y parcheado.\u0026#xa0;La correcci\u00f3n estar\u00e1 disponible en la versi\u00f3n 27.0.0"
          }
        ],
        "id": "CVE-2021-21391",
        "lastModified": "2024-11-21T05:48:15.750",
        "metrics": {
          "cvssMetricV2": [
            {
              "acInsufInfo": false,
              "baseSeverity": "MEDIUM",
              "cvssData": {
                "accessComplexity": "MEDIUM",
                "accessVector": "NETWORK",
                "authentication": "NONE",
                "availabilityImpact": "PARTIAL",
                "baseScore": 4.3,
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "vectorString": "AV:N/AC:M/Au:N/C:N/I:N/A:P",
                "version": "2.0"
              },
              "exploitabilityScore": 8.6,
              "impactScore": 2.9,
              "obtainAllPrivilege": false,
              "obtainOtherPrivilege": false,
              "obtainUserPrivilege": false,
              "source": "nvd@nist.gov",
              "type": "Primary",
              "userInteractionRequired": true
            }
          ],
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.8,
              "impactScore": 3.6,
              "source": "security-advisories@github.com",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.8,
              "impactScore": 3.6,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ]
        },
        "published": "2021-04-29T01:15:07.883",
        "references": [
          {
            "source": "security-advisories@github.com",
            "tags": [
              "Third Party Advisory"
            ],
            "url": "https://github.com/ckeditor/ckeditor5/security/advisories/GHSA-3rh3-wfr4-76mj"
          },
          {
            "source": "security-advisories@github.com",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-engine"
          },
          {
            "source": "security-advisories@github.com",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-font"
          },
          {
            "source": "security-advisories@github.com",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-image"
          },
          {
            "source": "security-advisories@github.com",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-list"
          },
          {
            "source": "security-advisories@github.com",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-markdown-gfm"
          },
          {
            "source": "security-advisories@github.com",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-media-embed"
          },
          {
            "source": "security-advisories@github.com",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-paste-from-office"
          },
          {
            "source": "security-advisories@github.com",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-widget"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Third Party Advisory"
            ],
            "url": "https://github.com/ckeditor/ckeditor5/security/advisories/GHSA-3rh3-wfr4-76mj"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-engine"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-font"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-image"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-list"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-markdown-gfm"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-media-embed"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-paste-from-office"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "url": "https://www.npmjs.com/package/%40ckeditor/ckeditor5-widget"
          }
        ],
        "sourceIdentifier": "security-advisories@github.com",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-400"
              }
            ],
            "source": "security-advisories@github.com",
            "type": "Secondary"
          }
        ]
      }
    },
    "redhat_vex": {
      "current_release_date": "2026-03-27T14:57:37+00:00",
      "cve": "CVE-2021-21391",
      "id": "CVE-2021-21391",
      "initial_release_date": "2021-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "1",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "Regular expression Denial of Service in multiple packages",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2021/cve-2021-21391.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…