LiveActive security incident?Get immediate response
CVE Record

CVE-2021-23341: Regular Expression Denial of Service (ReDoS)

The package prismjs before 1.23.0 are vulnerable to Regular Expression Denial of Service (ReDoS) via the prism-asciidoc, prism-rest, prism-tap and prism-eiffel components.

HighCVSS 7.5Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

PrismJS versions before 1.23.0 can be forced into excessive processing when specific syntax-highlighting components parse malicious input. The impact is availability: a website or service using those components could become slow or unavailable. The source bundle does not show data theft, code execution, or confirmed active exploitation.

Executive priority

Treat this as a high-priority availability fix if PrismJS processes untrusted content in public-facing systems. If PrismJS is only used on static, trusted content, urgency is lower, but the upgrade should still be scheduled because the affected version range is clear.

Technical view

CVE-2021-23341 is a ReDoS in PrismJS before 1.23.0 affecting prism-asciidoc, prism-rest, prism-tap, and prism-eiffel. CVSS 3.1 is 7.5, network-reachable, unauthenticated, low complexity, no user interaction, with high availability impact only. The GitHub references show the related issue, pull request, and fixing commit.

Likely exposure

Exposure is most likely where applications use vulnerable PrismJS versions to highlight AsciiDoc, REST, TAP, or Eiffel content, especially if that content is user-supplied or remotely controlled. Also review WebJars-packaged PrismJS dependencies because the source bundle includes Java WebJars references.

Exploitation context

The source bundle marks KEV as false and provides no cited evidence of active exploitation. Practical risk depends on whether attacker-controlled text reaches the affected PrismJS language components. A successful attack would aim to exhaust processing resources, not directly compromise confidentiality or integrity.

Researcher notes

Do not assume broad exploitability from package presence alone. Validate whether the vulnerable grammars are loaded and whether attacker-controlled input reaches highlighting. The bundle identifies the fixed boundary as PrismJS 1.23.0 and cites the upstream issue, pull request, and commit.

Mitigation direction

  • Upgrade PrismJS to 1.23.0 or later.
  • Check npm and WebJars dependency paths for vulnerable PrismJS packaging.
  • Disable unused affected language components where upgrading is delayed.
  • Avoid highlighting untrusted content with vulnerable components until remediated.
  • Monitor vendor advisories for any additional guidance.

Validation and detection

  • Inventory PrismJS versions in package manifests and lockfiles.
  • Search for prism-asciidoc, prism-rest, prism-tap, and prism-eiffel usage.
  • Confirm deployed assets no longer include PrismJS before 1.23.0.
  • Review routes that syntax-highlight user-supplied or remote content.
  • Run regression tests covering pages that render syntax highlighting.
Prepared
Confidence
high
Sources
8

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2021-23341 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.5 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
7Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.5CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H3.93.6Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

7.5High
CVSS 3.1 vector shape for CVE-2021-23341Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
n/aprismjsunspecifiedListed
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.