The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2026-33169

CVE-2026-33169: Ruby on Rails Active Support DoS Vulnerability

CVE-2026-33169 is a DoS vulnerability in Ruby on Rails Active Support caused by quadratic time complexity in NumberToDelimitedConverter. This article covers the technical details, affected versions, impact, and mitigation.

Published: March 27, 2026

CVE-2026-33169 Overview

CVE-2026-33169 is a Regular Expression Denial of Service (ReDoS) vulnerability in the Active Support component of Ruby on Rails. The NumberToDelimitedConverter class uses a lookahead-based regular expression with gsub! to insert thousands delimiters into numeric strings. The interaction between the repeated lookahead group and gsub! can produce quadratic time complexity when processing long digit strings, allowing attackers to cause resource exhaustion through specially crafted input.

Critical Impact

Attackers can trigger CPU exhaustion by submitting long numeric strings to Rails applications that use number formatting helpers, potentially causing application slowdowns or denial of service.

Affected Products

  • Ruby on Rails versions prior to 8.1.2.1
  • Ruby on Rails versions prior to 8.0.4.1
  • Ruby on Rails versions prior to 7.2.3.1

Discovery Timeline

  • 2026-03-24 - CVE CVE-2026-33169 published to NVD
  • 2026-03-24 - Last updated in NVD database

Technical Details for CVE-2026-33169

Vulnerability Analysis

This vulnerability exists in the NumberToDelimitedConverter class within the Active Support library, specifically in the activesupport/lib/active_support/number_helper/number_to_delimited_converter.rb file. The vulnerable code path is triggered when Rails applications use number formatting helpers such as number_with_delimiter() to format numeric values for display.

The root issue lies in how the regular expression pattern interacts with Ruby's gsub! method. When processing a string of digits, the lookahead-based regex must repeatedly scan forward through the string to identify positions where delimiters should be inserted. For each position in the string, the regex engine performs lookahead operations that scale with the remaining string length, resulting in O(n²) time complexity for strings of length n.

An attacker who can control numeric input to Rails number formatting functions can submit extremely long digit strings, causing the server to spend disproportionate CPU time processing the delimiter insertion. This constitutes a CWE-400 (Uncontrolled Resource Consumption) vulnerability exploitable over the network without authentication.

Root Cause

The vulnerability stems from an inefficient algorithmic approach in the parts method of NumberToDelimitedConverter. The original implementation used a regular expression with lookahead groups combined with the gsub! method to find delimiter insertion points. While functionally correct, this approach exhibits poor performance characteristics on long inputs due to the repeated lookahead evaluations at each character position.

Attack Vector

The attack can be executed remotely over the network against any Rails application that processes user-supplied numbers through Active Support's number formatting helpers. Common attack surfaces include:

  • Form fields that accept numeric input and display formatted values
  • API endpoints that return formatted numbers
  • Report generation features that format large numbers
  • Any view helper using number_with_delimiter, number_to_currency, or similar methods

The following patch demonstrates the fix applied by the Rails team:

ruby
       private
         def parts
           left, right = number.to_s.split(".")
-          left.gsub!(delimiter_pattern) do |digit_to_delimit|
-            "#{digit_to_delimit}#{options[:delimiter]}"
+          if delimiter_pattern
+            left.gsub!(delimiter_pattern) do |digit_to_delimit|
+              "#{digit_to_delimit}#{options[:delimiter]}"
+            end
+          else
+            left_parts = []
+            offset = left.size % 3
+            if offset > 0
+              left_parts << left[0, offset]
+            end
+
+            (left.size / 3).times do |i|
+              left_parts << left[offset + (i * 3), 3]
+            end
+
+            left = left_parts.join(options[:delimiter])
           end
+
           [left, right].compact
         end

Source: GitHub Commit D13149

The fix replaces the regex-based approach with a linear-time string slicing algorithm that manually divides the digit string into groups of three, eliminating the quadratic complexity.

Detection Methods for CVE-2026-33169

Indicators of Compromise

  • Unusually high CPU utilization on Rails application servers during request processing
  • Slow response times for requests involving number formatting operations
  • Application logs showing requests with extremely long numeric parameters
  • Web server timeout errors correlating with number formatting endpoints

Detection Strategies

  • Monitor application performance metrics for sudden spikes in CPU usage during request handling
  • Implement request logging to identify unusually long numeric inputs in parameters
  • Use application performance monitoring (APM) tools to trace slow requests to NumberToDelimitedConverter operations
  • Review web server access logs for requests containing numeric strings exceeding expected lengths

Monitoring Recommendations

  • Set up alerts for CPU utilization thresholds on Rails application workers
  • Configure request timeout monitoring to detect hanging requests
  • Implement input length validation logging to identify potential exploitation attempts
  • Monitor Ruby process memory and CPU metrics for anomalous patterns

How to Mitigate CVE-2026-33169

Immediate Actions Required

  • Upgrade Ruby on Rails to version 8.1.2.1, 8.0.4.1, or 7.2.3.1 depending on your current major version
  • Implement input validation to limit the length of numeric strings before they reach formatting helpers
  • Consider rate limiting on endpoints that process user-supplied numbers
  • Review application code for uses of number_with_delimiter and similar helpers with user input

Patch Information

Rails has released patched versions addressing this vulnerability. Update your application's Gemfile to use the appropriate fixed version:

  • For Rails 8.1.x: Update to 8.1.2.1 or later - GitHub Release v8.1.2.1
  • For Rails 8.0.x: Update to 8.0.4.1 or later - GitHub Release v8.0.4.1
  • For Rails 7.2.x: Update to 7.2.3.1 or later - GitHub Release v7.2.3.1

For additional details, refer to the GitHub Security Advisory GHSA-cg4j-q9v8-6v38.

Workarounds

  • Implement input validation to restrict numeric string lengths before passing to number helpers
  • Add a custom before_action filter to truncate or reject excessively long numeric inputs
  • Use application-level rate limiting on endpoints processing numeric formatting
  • Consider implementing a custom delimiter function with linear time complexity if immediate patching is not possible
bash
# Update Rails in your Gemfile and run bundle update
bundle update rails

# Verify the installed version
bundle show rails

# For Rails 8.1.x applications:
# Ensure Gemfile contains: gem 'rails', '>= 8.1.2.1'

# For Rails 8.0.x applications:
# Ensure Gemfile contains: gem 'rails', '>= 8.0.4.1'

# For Rails 7.2.x applications:
# Ensure Gemfile contains: gem 'rails', '>= 7.2.3.1'

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeDOS

  • Vendor/TechRubyonrails

  • SeverityMEDIUM

  • CVSS Score6.9

  • EPSS Probability0.01%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/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
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityLow
  • CWE References
  • CWE-400
  • Technical References
  • GitHub Release v7.2.3.1

  • GitHub Release v8.0.4.1

  • GitHub Release v8.1.2.1
  • Vendor Resources
  • GitHub Commit D13149

  • GitHub Commit B37389

  • GitHub Commit E21549

  • GitHub Security Advisory GHSA-cg4j-q9v8-6v38
  • Related CVEs
  • CVE-2026-33174: Ruby on Rails Active Storage DoS Vulnerability

  • CVE-2026-33176: Ruby on Rails Active Support DoS Vulnerability

  • CVE-2022-23517: Rails HTML Sanitizers DoS Vulnerability

  • CVE-2021-22904: Ruby on Rails ActionPack DoS Vulnerability
Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English