CVE-2021-23446: Regular Expression Denial of Service in handsontable

handsontable Updated 02 Oct 2025

Summary

30/09/2021
Yes i
High
7.5

CVE-2021-23446: Inefficient Regular Expression Complexity in handsontable. Affects handsontable versions < 10.0.0. Fixed in 10.0.0. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

handsontable is an npm package that provides a JavaScript data grid for displaying and editing tabular data. It offers various features and functionalities to enhance the user experience when working with large datasets. However, versions before 10.0.0 and versions from 0 to 10.0.0 of handsontable are vulnerable to a Regular Expression Denial of Service (ReDoS) in the Handsontable.helper.isNumeric function.

Vulnerability Detail

The vulnerability arises due to inefficient regular expressions used in the Handsontable.helper.isNumeric function. An attacker can exploit this vulnerability by providing specially crafted input that triggers excessive backtracking in the regular expression matching process. This can lead to a denial of service condition, causing the application to become unresponsive or consume excessive CPU resources. The impact of this vulnerability can be severe, as it allows an attacker to disrupt the availability of the affected application.

How To Fix

Minimum fixed version

10.0.0

This is the first release that contains the fix.

npm install handsontable@10.0.0

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If upgrading to the latest version is not immediately feasible, a temporary workaround is to implement input validation to prevent the exploitation of the vulnerability. This can be done by using a more efficient regular expression or alternative validation methods to ensure that user input is properly validated and does not trigger excessive backtracking.

Conclusion

The handsontable package versions before 10.0.0 and versions from 0 to 10.0.0 are vulnerable to a Regular Expression Denial of Service (ReDoS) vulnerability. This can be exploited by an attacker to cause a denial of service condition, impacting the availability of the affected application. It is crucial to upgrade to handsontable version 10.0.0 or later to mitigate this vulnerability. Implementing input validation can serve as a temporary workaround until the upgrade is performed. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for handsontable →

Share this vulnerability

FAQ

handsontable is an npm package that provides a JavaScript data grid for displaying and editing tabular data. It offers various features and functionalities to enhance the user experience when working with large datasets.

Regular Expression Denial of Service (ReDoS) is a type of vulnerability that occurs when a regular expression pattern is susceptible to excessive backtracking. This can be exploited by an attacker to cause a denial of service condition, leading to application unresponsiveness or high CPU usage.

The impact of this vulnerability can be severe, as it allows an attacker to disrupt the availability of the affected application. By exploiting the inefficient regular expressions in handsontable, an attacker can cause the application to become unresponsive or consume excessive CPU resources.

To fix this vulnerability, it is recommended to upgrade to handsontable version 10.0.0 or later. This version includes a fix for the inefficient regular expressions, preventing the possibility of a ReDoS attack. Developers should update their package dependencies to ensure the latest secure version is being used.

If upgrading to the latest version is not immediately feasible, a temporary workaround is to implement input validation to prevent the exploitation of the vulnerability. This can be done by using a more efficient regular expression or alternative validation methods to ensure that user input is properly validated and does not trigger excessive backtracking.

How To Fix

Minimum fixed version

10.0.0

This is the first release that contains the fix.

npm install handsontable@10.0.0

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback