Every CVE Search/ Get API key

CVE-2024-9506

Regular Expression Denial of Service (ReDoS)

3.7 LowPublic exploitFix available

Improper regular expression in Vue's parseHTML function leads to a potential regular expression denial of service vulnerability.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.57%Up 0.5 points since Oct 16, 2024
90%50%10%1%

What each source reports

CVE List Score used 3.7

Regular Expression Denial of Service (ReDoS)

Improper regular expression in Vue's parseHTML function leads to a potential regular expression denial of service vulnerability.

Record
CVE-2024-9506
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333
Updated
2026-11-02
EUVDEUVD-2024-2953 3.7

Improper regular expression in Vue's parseHTML function leads to a potential regular expression denial of service vulnerability.

Record
EUVD-2024-2953
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-03
GitHub AdvisoriesGHSA-5j4c-8p2g-v4jx 2.9

ReDoS vulnerability in vue package that is exploitable through inefficient regex evaluation in the parseHTML function

The ReDoS can be exploited through the parseHTML function in the html-parser.ts file. This flaw allows attackers to slow down the application by providing specially crafted input that causes inefficient processing of regular expressions, leading to excessive resource consumption.

To demonstrate this vulnerability, here's an example. In a Vue client-side application, create a new Vue instance with a template string that includes a <script> tag but closes it incorrectly with something like </textarea>.

new Vue({
  el: '#app',
  template: '
    <div>
      Hello, world!
      <script>${'<'.repeat(1000000)}</textarea>
    </div>'
});

Next, set up a basic HTML page (e.g., index.html) to load this JavaScript and mount the Vue instance:

<!DOCTYPE html>
<html>
<head>
  <title>My first Vue app</title>
</head>
<body>
  <div id=\"app\">Loading...</div>
</body>
</html>

When you visit the app in your browser at http://localhost:3000, you'll notice that the time taken to parse and mount the Vue application increases significantly due to the ReDoS vulnerability, demonstrating how the flaw can affect performance.

Record
GHSA-5j4c-8p2g-v4jx
CVSS 4.0
2.9 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333
Updated
2026-11-02
NVD 3.7

Improper regular expression in Vue's parseHTML function leads to a potential regular expression denial of service vulnerability.

Record
CVE-2024-9506
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333
Updated
2026-11-02
OSVGHSA-5j4c-8p2g-v4jx 2.9

ReDoS vulnerability in vue package that is exploitable through inefficient regex evaluation in the parseHTML function

The ReDoS can be exploited through the parseHTML function in the html-parser.ts file. This flaw allows attackers to slow down the application by providing specially crafted input that causes inefficient processing of regular expressions, leading to excessive resource consumption.

To demonstrate this vulnerability, here's an example. In a Vue client-side application, create a new Vue instance with a template string that includes a <script> tag but closes it incorrectly with something like </textarea>.

new Vue({
  el: '#app',
  template: '
    <div>
      Hello, world!
      <script>${'<'.repeat(1000000)}</textarea>
    </div>'
});

Next, set up a basic HTML page (e.g., index.html) to load this JavaScript and mount the Vue instance:

<!DOCTYPE html>
<html>
<head>
  <title>My first Vue app</title>
</head>
<body>
  <div id=\"app\">Loading...</div>
</body>
</html>

When you visit the app in your browser at http://localhost:3000, you'll notice that the time taken to parse and mount the Vue application increases significantly due to the ReDoS vulnerability, demonstrating how the flaw can affect performance.

Record
GHSA-5j4c-8p2g-v4jx
CVSS 4.0
2.9 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333
Updated
2026-11-02
OSVCLSA-2026-1774830270 No score

TuxCare security update for 2 packages (2 CVEs)

TuxCare rebuilt 2 packages to address 2 CVEs. Fixed in 2.6.11-tuxcare.2.

Record
CLSA-2026-1774830270
Updated
2026-11-02
Show 6 moreShow less
OSVCLSA-2026-1774916696 No score

TuxCare security update for 2 packages (2 CVEs)

TuxCare rebuilt 2 packages to address 2 CVEs. Fixed in 2.6.14-tuxcare.5.

Record
CLSA-2026-1774916696
Updated
2026-11-02
OSVCLSA-2026-1791908879 No score

TuxCare security update for 2 packages (1 CVE)

TuxCare rebuilt 2 packages to address 1 CVE. Fixed in 2.2.6-tuxcare.3.

Record
CLSA-2026-1791908879
Updated
2026-11-02
OSVCLSA-2026-1793148256 No score

TuxCare security update for vue (2 CVEs)

TuxCare rebuilt vue to address 2 CVEs. Fixed in 2.6.11-tuxcare.2.

Record
CLSA-2026-1793148256
Updated
2026-11-02
OSVCLSA-2026-1793148258 No score

TuxCare security update for vue (2 CVEs)

TuxCare rebuilt vue to address 2 CVEs. Fixed in 2.6.14-tuxcare.5.

Record
CLSA-2026-1793148258
Updated
2026-11-02
OSVCLSA-2026-1793148266 No score

TuxCare security update for vue (1 CVE)

TuxCare rebuilt vue to address 1 CVE. Fixed in 2.2.6-tuxcare.3.

Record
CLSA-2026-1793148266
Updated
2026-11-02
OSVCLSA-2026-1793148267 No score

TuxCare security update for vue (1 CVE)

TuxCare rebuilt vue to address 1 CVE. Fixed in 2.7.16-tuxcare.9.

Record
CLSA-2026-1793148267
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
vue
npm
2.0.0-alpha.1 up to 3.0.0-alpha.0
3.0.0-alpha.0
vue-server-renderer
TuxCare:npm
From an advisory covering 2 CVEs
2.6.11-tuxcare.0 up to 2.6.11-tuxcare.2, plus listed versions
2.6.112.6.11-tuxcare.1
2.6.11-tuxcare.2
vue-template-compiler
TuxCare:npm
From an advisory covering 2 CVEs
2.6.11-tuxcare.0 up to 2.6.11-tuxcare.2, plus listed versions
2.6.112.6.11-tuxcare.1
2.6.11-tuxcare.2
vue-server-renderer
TuxCare:npm
From an advisory covering 2 CVEs
2.6.14-tuxcare.0 up to 2.6.14-tuxcare.5, plus listed versions
2.6.142.6.14-tuxcare.12.6.14-tuxcare.22.6.14-tuxcare.32.6.14-tuxcare.4
2.6.14-tuxcare.5
vue-template-compiler
TuxCare:npm
From an advisory covering 2 CVEs
2.6.14-tuxcare.0 up to 2.6.14-tuxcare.5, plus listed versions
2.6.142.6.14-tuxcare.12.6.14-tuxcare.22.6.14-tuxcare.32.6.14-tuxcare.4
2.6.14-tuxcare.5
vue-server-renderer
TuxCare:npm
2.2.6-tuxcare.0 up to 2.2.6-tuxcare.3, plus listed versions
2.2.62.2.6-tuxcare.12.2.6-tuxcare.2
2.2.6-tuxcare.3
vue-template-compiler
TuxCare:npm
2.2.6-tuxcare.0 up to 2.2.6-tuxcare.3, plus listed versions
2.2.62.2.6-tuxcare.12.2.6-tuxcare.2
2.2.6-tuxcare.3
vue
TuxCare:npm
From an advisory covering 2 CVEs
2.6.11-tuxcare.0 up to 2.6.11-tuxcare.2, plus listed versions
2.6.11
2.6.11-tuxcare.2
vue
TuxCare:npm
From an advisory covering 2 CVEs
2.6.14-tuxcare.0 up to 2.6.14-tuxcare.5, plus listed versions
2.6.14
2.6.14-tuxcare.5
vue
TuxCare:npm
2.2.6-tuxcare.0 up to 2.2.6-tuxcare.3, plus listed versions
2.2.62.2.6-tuxcare.12.2.6-tuxcare.2
2.2.6-tuxcare.3
vue
TuxCare:npm
2.7.16-tuxcare.0 up to 2.7.16-tuxcare.9, plus listed versions
2.7.162.7.16-tuxcare.12.7.16-tuxcare.52.7.16-tuxcare.62.7.16-tuxcare.72.7.16-tuxcare.8
2.7.16-tuxcare.9

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubbio/vue-template-compiler-patched2025-04-16

History

History
RecordedChangedSources
affected, facts
aliases, products, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV, PoC in GitHub

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

In short

CVE-2024-9506 is a low vulnerability (CVSS 3.7) in @clerk Vue, published October 15, 2024. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.57%, the 47th percentile. Fixed in vue 3.0.0-alpha.0.

References

MoveEnter Open