Cyber Resilience

CVE-2026-33176

DoS in Rubyonrails Rails ≤ 7.2.3.1

Published
24 March 2026
Modified
24 March 2026
Patch / advisory
CVSS Score v4 6.6
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0061 46th percentile
Risk Priority 41 floored blend · peak EPSS

Summary

CVE-2026-33176 is a medium-severity Uncontrolled Resource Consumption (CWE-400) vulnerability in Rubyonrails Rails. Its CVSS base score is 6.6 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Network Denial of Service (T1498); ranked at the 46th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-10 (Concurrent Session Control) and SC-5 (Denial-of-service Protection) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-33176 is a denial-of-service vulnerability in Active Support, a toolkit of support libraries and Ruby core extensions extracted from the Ruby on Rails framework. In versions prior to 8.1.2.1, 8.0.4.1, and 7.2.3.1, Active Support's number helpers accept strings in scientific notation, such as "1e10000". When processed, the Ruby BigDecimal library expands these into extremely large decimal representations, leading to excessive memory allocation and CPU consumption during formatting.

The vulnerability has a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), indicating it is exploitable over the network with low complexity by unauthenticated attackers without user interaction. An attacker can supply a malicious scientific notation string to an affected number helper, triggering resource exhaustion that disrupts service availability through high memory and CPU usage.

Patches are available in Active Support versions 8.1.2.1, 8.0.4.1, and 7.2.3.1, as detailed in Rails GitHub commits and release tags. Security practitioners should upgrade to these fixed versions to mitigate the issue, which is associated with CWE-400 (Uncontrolled Resource Consumption) and CWE-770 (Allocation of Resources Without Limits or Throttling).

EU & UK References

Vulnerability Data

Active Support is a toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Prior to versions 8.1.2.1, 8.0.4.1, and 7.2.3.1, Active Support number helpers accept strings containing scientific notation (e.g. `1e10000`), which `BigDecimal` expands into extremely…

more

large decimal representations. This can cause excessive memory allocation and CPU consumption when the expanded number is formatted, possibly resulting in a DoS vulnerability. Versions 8.1.2.1, 8.0.4.1, and 7.2.3.1 contain a patch.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1498 Network Denial of Service Impact
Adversaries may perform Network Denial of Service (DoS) attacks to degrade or block the availability of targeted resources to users.
T1499 Endpoint Denial of Service Impact
Adversaries may perform Endpoint Denial of Service (DoS) attacks to degrade or block the availability of services to users.
T1499.001 OS Exhaustion Flood Impact
Adversaries may launch a denial of service (DoS) attack targeting an endpoint's operating system (OS).
T1499.003 Application Exhaustion Flood Impact
Adversaries may target resource intensive features of applications to cause a denial of service (DoS), denying availability to those applications.
T1498.001 Direct Network Flood Impact
Adversaries may attempt to cause a denial of service (DoS) by directly sending a high-volume of network traffic to a target.
T1498.002 Reflection Amplification Impact
Adversaries may attempt to cause a denial of service (DoS) by reflecting a high-volume of network traffic to a target.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-33658Same product: Rubyonrails Rails
CVE-2023-22792Same product: Rubyonrails Rails
CVE-2026-33169Same product: Rubyonrails Rails
CVE-2026-33174Same product: Rubyonrails Rails
CVE-2024-28103Same product: Rubyonrails Rails
CVE-2024-26143Same product: Rubyonrails Rails
CVE-2024-26144Same product: Rubyonrails Rails
CVE-2026-33173Same product: Rubyonrails Rails
CVE-2026-33167Same product: Rubyonrails Rails
CVE-2024-32464Same product: Rubyonrails Rails

Affected Assets

rubyonrails
rails
≤ 7.2.3.1 · 8.0.0 — 8.0.4.1 · 8.1.0 — 8.1.2.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 5 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V15.4.4

Mitigating Controls (NIST 800-53 r5) AI

Directly enforces a hard limit on concurrent sessions, structurally preventing unbounded resource allocation.

SC-5 directly limits the effects of resource-exhaustion events that constitute uncontrolled consumption.

SC-6 enforces explicit allocation limits on resources, structurally preventing the weakness from occurring.

Imposes a limit on consecutive invalid attempts, preventing one specific class of unbounded resource consumption.

Process isolation confines resource consumption to separate domains, reducing blast radius without stopping the root flaw.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.IR-04 mostly match
prevents

Explicitly requires monitoring and maintaining resource capacity, directly addressing uncontrolled consumption to preserve availability.

DE.CM-09 partial match
prevents

Continuous monitoring of computing resources can detect resource exhaustion but does not itself enforce allocation limits.

PR.IR-03 partial match
prevents

Resilience mechanisms such as avoiding single points of failure indirectly reduce impact of resource exhaustion.

PR.PS-01 partial match
prevents

Hardened configuration baselines can include resource quotas and limits that constrain consumption.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Resource-utilization monitoring and alerting on bottlenecks or overloads limits the impact of denial-of-service or resource-exhaustion attacks.

prevents

By continuously monitoring utilization, stress-testing peak loads, and maintaining documented plans to scale or throttle resources, the control directly limits an attacker’s ability to drive a system into uncontrolled resource exhaustion.

finds

Pre-agreed severity-based prioritization and resource allocation during incident triage reduce the likelihood that an attacker-induced resource exhaustion will overwhelm the organization before corrective action is taken.

mitigates

Business-continuity plans that include resource-management controls reduce the likelihood that an attacker can trigger uncontrolled resource consumption by forcing the system into a degraded or fallback state.

mitigates

Defining RTOs and capacity requirements for ICT services during business-impact analysis forces organizations to provision sufficient resources and throttling mechanisms, reducing the likelihood that an attacker can induce denial-of-service through uncontrolled resource consumption.

finds

Early notification of anomalous resource consumption or system malfunctions enables throttling or isolation before availability is lost.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (2 rules)
  • V-248552 OL 8 must be configured so that all network connections associated with SSH traffic terminate after becoming unresponsive. prevents CWE-770
  • V-248553 OL 8 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive. prevents CWE-770
Oracle Linux 9 (2 rules)
  • V-271710 OL 9 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive. prevents CWE-770
  • V-271709 OL 9 must be configured so that all network connections associated with SSH traffic terminate after becoming unresponsive. prevents CWE-770
RHEL 8 (1 rule)
  • V-230244 RHEL 8 must be configured so that all network connections associated with SSH traffic terminate after becoming unresponsive. prevents CWE-770

References