Every CVE Search/ Get API key

CVE-2021-32723

Regular Expression Denial of Service (ReDoS) in Prism

7.4 HighFix available

Prism is a syntax highlighting library. Some languages before 1.24.0 are vulnerable to Regular Expression Denial of Service (ReDoS). When Prism is used to highlight untrusted (user-given) text, an attacker can craft a string that will take a very very long time to highlight. This problem has been fixed in Prism v1.24. As a workaround, do not use ASCIIDoc or ERB to highlight untrusted text. Other languages are not affected and can be used to highlight untrusted text.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

1.42%Up 0.4 points since Jun 29, 2021
90%50%10%1%

What each source reports

CVE List Score used 7.4

Regular Expression Denial of Service (ReDoS) in Prism

Prism is a syntax highlighting library. Some languages before 1.24.0 are vulnerable to Regular Expression Denial of Service (ReDoS). When Prism is used to highlight untrusted (user-given) text, an attacker can craft a string that will take a very very long time to highlight. This problem has been fixed in Prism v1.24. As a workaround, do not use ASCIIDoc or ERB to highlight untrusted text. Other languages are not affected and can be used to highlight untrusted text.

Record
CVE-2021-32723
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H
Weakness
CWE-400
Updated
2026-11-02
EUVDEUVD-2021-1326 7.4

Prism is a syntax highlighting library. Some languages before 1.24.0 are vulnerable to Regular Expression Denial of Service (ReDoS). When Prism is used to highlight untrusted (user-given) text, an attacker can craft a string that will take a very very long time to highlight. This problem has been fixed in Prism v1.24. As a workaround, do not use ASCIIDoc or ERB to highlight untrusted text. Other languages are not affected and can be used to highlight untrusted text.

Record
EUVD-2021-1326
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H
Updated
2026-11-03
GitHub AdvisoriesGHSA-gj77-59wh-66hg 7.4

Regular Expression Denial of Service (ReDoS) in Prism

Some languages before 1.24.0 are vulnerable to Regular Expression Denial of Service (ReDoS).

Impact

When Prism is used to highlight untrusted (user-given) text, an attacker can craft a string that will take a very very long time to highlight. Do not use the following languages to highlight untrusted text.

  • ASCIIDoc
  • ERB

Other languages are not affected and can be used to highlight untrusted text.

Patches

This problem has been fixed in Prism v1.24.

References

  • PrismJS/prism#2774
  • PrismJS/prism#2688
Record
GHSA-gj77-59wh-66hg
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H
Weakness
CWE-400
Updated
2026-11-02
NVD 7.4

Prism is a syntax highlighting library. Some languages before 1.24.0 are vulnerable to Regular Expression Denial of Service (ReDoS). When Prism is used to highlight untrusted (user-given) text, an attacker can craft a string that will take a very very long time to highlight. This problem has been fixed in Prism v1.24. As a workaround, do not use ASCIIDoc or ERB to highlight untrusted text. Other languages are not affected and can be used to highlight untrusted text.

Record
CVE-2021-32723
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CVSS 2.0
4.3 MediumAV:N/AC:M/Au:N/C:N/I:N/A:P
Weakness
CWE-400
Updated
2026-11-02
OSV 6.5

Prism is a syntax highlighting library. Some languages before 1.24.0 are vulnerable to Regular Expression Denial of Service (ReDoS). When Prism is used to highlight untrusted (user-given) text, an attacker can craft a string that will take a very very long time to highlight. This problem has been fixed in Prism v1.24. As a workaround, do not use ASCIIDoc or ERB to highlight untrusted text. Other languages are not affected and can be used to highlight untrusted text.

Record
CVE-2021-32723
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGHSA-gj77-59wh-66hg 7.4

Regular Expression Denial of Service (ReDoS) in Prism

Some languages before 1.24.0 are vulnerable to Regular Expression Denial of Service (ReDoS).

Impact

When Prism is used to highlight untrusted (user-given) text, an attacker can craft a string that will take a very very long time to highlight. Do not use the following languages to highlight untrusted text.

  • ASCIIDoc
  • ERB

Other languages are not affected and can be used to highlight untrusted text.

Patches

This problem has been fixed in Prism v1.24.

References

  • PrismJS/prism#2774
  • PrismJS/prism#2688
Record
GHSA-gj77-59wh-66hg
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H
Weakness
CWE-400
Updated
2026-11-02
OSVUBUNTU-CVE-2021-32723 7.4

Prism is a syntax highlighting library. Some languages before 1.24.0 are vulnerable to Regular Expression Denial of Service (ReDoS). When Prism is used to highlight untrusted (user-given) text, an attacker can craft a string that will take a very very long time to highlight. This problem has been fixed in Prism v1.24. As a workaround, do not use ASCIIDoc or ERB to highlight untrusted text. Other languages are not affected and can be used to highlight untrusted text.

Record
UBUNTU-CVE-2021-32723
CVSS 3.1
7.4 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:H
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVCLSA-2026-1793304056 No score

TuxCare security update for prismjs (6 CVEs)

TuxCare rebuilt prismjs to address 6 CVEs. Fixed in 1.17.1-tuxcare.1.

Record
CLSA-2026-1793304056
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2021-32723 No score

CVE-2021-32723 in prismjs - Patched by Root

Root has patched CVE-2021-32723 in the prismjs package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2021-32723
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
prismjs
npm
before 1.24.0
1.24.0
prismjs
TuxCare:npm
From an advisory covering 6 CVEs
1.17.1-tuxcare.0 up to 1.17.1-tuxcare.1, plus listed versions
1.17.1
1.17.1-tuxcare.1
prismjs
Root:npm
before 1.17.1-aikido.1
1.17.1-aikido.1
@rootio/prismjs
Root:npm
before 1.17.1-root.io.1
1.17.1-root.io.1
node-prismjs
Ubuntu:20.04:LTS
All versions, plus listed versions
1.11.0+dfsg-21.11.0+dfsg-3
None known
node-prismjs
Ubuntu:22.04:LTS
All versions, plus listed versions
1.23.0+dfsg-11.25.0+dfsg-11.27.0+dfsg+~1.26.0-1
None known
node-prismjs
Ubuntu:24.04:LTS
All versions, plus listed versions
1.29.0+dfsg+~1.26.0-1
None known
node-prismjs
Ubuntu:25.10
All versions, plus listed versions
1.29.0+dfsg+~1.26.0-11.30.0+dfsg+~1.26.5-1
None known
node-prismjs
Ubuntu:26.10
All versions, plus listed versions
1.30.0+dfsg+~1.26.6-1
None known
node-prismjs
Ubuntu:26.04:LTS
All versions, plus listed versions
1.30.0+dfsg+~1.26.5-11.30.0+dfsg+~1.26.5-21.30.0+dfsg+~1.26.6-1
None known

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-32723 is a high vulnerability (CVSS 7.4) in Prismjs Prism, published June 28, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.42%, the 73rd percentile. Fixed in prismjs 1.24.0.

References

Show 4 moreShow less
MoveEnter Open