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.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
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-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- 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
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.
CVSS vector scores
1 official scoreWe 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.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H3.93.6Primary CVE scoreVulnerability scoring details
Base CVSS 3.1 score
7.5HighVector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Source materials
- CVE List V5 sourceCVE List V5
- https://snyk.io/vuln/SNYK-JS-PRISMJS-1076581CVE reference · x_refsource_MISC
- https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1076582CVE reference · x_refsource_MISC
- https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARS-1076583CVE reference · x_refsource_MISC
- https://github.com/PrismJS/prism/commit/c2f6a64426f44497a675cb32dccb079b3eff1609CVE reference · x_refsource_MISC
- https://github.com/PrismJS/prism/issues/2583CVE reference · x_refsource_MISC
- https://github.com/PrismJS/prism/pull/2584CVE reference · x_refsource_MISC
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
