Sceawere

Vulnerability Detail

CVE-2026-67991UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV

RubyLLM Regular Expression Denial of Service

Vulnerability Metadata

Severity
High
Score / CVSS
7.5
Creation Date
7h ago
Vendor
n/a
Product
n/a
Attack Type
n/a
Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack Complexity
LOW

Narrative and Response

Description

crmne/ruby_llm at commit fa6f279847d6d7027814539d9c0dfc3bbdfd2a83 contains a polynomial-time regular expression denial-of-service condition in RubyLLM::Utils.underscore on Ruby 3.1.x. A very long crafted class, agent, or tool name can cause excessive CPU consumption and a denial of service.

Executive Summary

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Executive Summary Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Technical Details

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Detailed Technical Analysis Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Mitigations

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Remediation & Mitigations Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

References

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Intelligence References Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Additional Metadata

{
  "score": "7.5",
  "pubDate": "2026-08-13T14:17:11.717Z",
  "pubdate": "2026-08-13T14:17:11.717Z",
  "executiveSummary": "A polynomial-time regular expression denial-of-service (ReDoS) vulnerability exists in the crmne/ruby_llm repository at commit fa6f279847d6d7027814539d9c0dfc3bbdfd2a83, specifically within the RubyLLM::Utils.underscore function when executed on Ruby 3.1.x.\nThe flaw allows an unauthenticated attacker to cause excessive CPU consumption and a denial of service (DoS) by supplying a specially crafted, very long class, agent, or tool name.\nThis vulnerability poses a significant risk to application availability, as resource exhaustion can degrade or completely halt service operations.\nExploitation requires the processing of maliciously engineered input strings passed to the vulnerable underscore utility method, which triggers catastrophic backtracking within the underlying regular expression engine.",
  "technicalDetails": "The root cause of the vulnerability resides in the RubyLLM::Utils.underscore function within the crmne/ruby_llm codebase at commit fa6f279847d6d7027814539d9c0dfc3bbdfd2a83.\nThe vulnerable component utilizes a regular expression pattern that exhibits polynomial-time complexity when parsing specific string structures, making it susceptible to ReDoS conditions.\nThe affected software version context explicitly involves Ruby 3.1.x execution environments processing inputs via the RubyLLM library.\nAttackers can exploit this condition by submitting an extremely long, maliciously crafted class name, agent name, or tool name that matches the pathological structure required by the vulnerable regular expression.\nThe attack flow proceeds as follows: 1) An external actor provides a crafted input string representing a class, agent, or tool name to the application. 2) The application passes this input to RubyLLM::Utils.underscore for formatting. 3) The regular expression engine evaluates the input string against the vulnerable pattern. 4) Due to overlapping quantifiers or ambiguous alternations, the regex engine enters a state of catastrophic backtracking. 5) The processing consumes excessive CPU cycles, leading to thread starvation and a denial of service for the application.\nAuthentication and privilege requirements depend on the application architecture, but external vectors reachable via user-supplied class, agent, or tool names can be triggered without prior authentication.\nThe post-exploitation impact is strictly limited to availability, resulting in resource exhaustion and service disruption rather than remote code execution or data exfiltration."
}
CVE-2026-67991: RubyLLM Regular Expression Denial of Service (HIGH Severity, CVSS: 7.5) - Sceawere