Ruby on Rails Active Support Scientific Notation Processing Denial-of-Service Vulnerability

Vulnerability

A denial-of-service vulnerability has been identified in the Active Support component of Ruby on Rails. This issue affects versions 7.2.3, 8.0.4, and 8.1, prior to 8.1.2.1. The vulnerability arises because Active Support number helpers improperly handle strings in scientific notation, such as '1e10000'. When these strings are processed, 'BigDecimal' converts them into extremely large decimal numbers. This conversion can lead to excessive memory usage and CPU load during number formatting, causing a denial-of-service condition.

Impact

Exploitation of this vulnerability can lead to a denial-of-service condition, causing excessive memory and CPU usage.

Reproduction

The vulnerability can be reproduced by using Active Support number helpers with strings that include scientific notation. This can be done by calling number_to_currency or number_to_percentage methods with such strings, which will trigger the improper handling and result in increased resource consumption.

Remediation

Users can upgrade to Active Support versions 8.1.2.1, 8.0.4.1, or 7.2.3.1 to address this vulnerability.

Added: Mar 24, 2026, 12:32 AM
Updated: Mar 24, 2026, 12:32 AM

Vulnerability Rating

Custom Algorithm
spread
7.6
impact
2.5
exploitability
7.8
remediation
7.7
relevance
4.6
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.