CVE-2024-49761
NoneCVSS
—
EPSS
1.4%
Published
Oct 28, 2024
CISA due date
—
Cloudanix analysis
A specially crafted XML input can make affected Ruby applications slow down or stop responding until the software is updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerable REXML parser can enter catastrophic regular-expression backtracking when processing an XML hex numeric character reference containing an unusually long run of digits after "&#x" and before the terminating semicolon. A remote, unauthenticated attacker can trigger excessive CPU consumption by submitting crafted XML to any Ruby application that parses attacker-controlled XML with REXML versions before 3.3.9. The impact is availability-only: it does not directly allow code execution, data theft, or data modification. Ruby 3.1 deployments using the vulnerable REXML gem are the primary maintained affected runtime; Ruby 3.2 and later are not affected by this parsing behavior.
Why it matters to the business
Applications, APIs, background workers, or integration services that accept XML input may become slow, unresponsive, or unavailable after receiving a small crafted request. This can disrupt customer-facing services, partner integrations, file-processing pipelines, and internal automation that depend on Ruby XML parsing. The vulnerability is not listed in CISA KEV, is not known to be used in ransomware campaigns, and has low EPSS, so broad active exploitation is not indicated; however, the attack is network-reachable and low-complexity wherever untrusted XML is accepted.
How an attack unfolds
An attacker first identifies a Ruby application endpoint, message consumer, upload workflow, webhook, SOAP/XML API, or background job that parses XML using REXML on an affected Ruby 3.1-era dependency set. The attacker then submits XML containing a malformed or extreme hex numeric character reference, such as a sequence beginning with "&#x" followed by a very large number of hexadecimal digits and a semicolon. When the vulnerable parser attempts to interpret the character reference, the regular expression used by REXML consumes excessive CPU due to backtracking. Repeating the request or sending multiple payloads concurrently can tie up application workers, increase request latency, exhaust process capacity, and cause denial of service until the process recovers, is restarted, traffic is blocked, or the package is upgraded.
How to fix it
Upgrade the REXML gem to version 3.3.9 or later wherever it is used. If REXML is bundled through the Ruby runtime or a lockfile, update the Ruby package/dependency bundle so the resolved REXML version is patched. The upstream fixes are present in ruby/rexml commit 38eaa86ac7abe0d31cf49d8df57ad239fdeb80e9 and ruby/ruby commit f5c772fc7cbe9f5b58d962939fcb1c7e3fb1cfa6. Ruby 3.2 and later are not affected by the described behavior, so upgrading the runtime is also an effective mitigation where feasible. If immediate upgrade is not possible, reduce exposure by rejecting or size-limiting XML inputs, enforcing strict request body limits and parser timeouts, blocking character references with excessively long "&#x...;" sequences at the edge, rate-limiting XML-processing endpoints, and isolating XML parsing workers so parser stalls cannot exhaust the entire application.
How to confirm the fix worked
Confirm dependency resolution shows REXML 3.3.9 or later, for example by inspecting Gemfile.lock, gem dependency output, software composition analysis results, container image package manifests, and deployed artifact manifests. Confirm the Ruby runtime is not an affected Ruby 3.1 deployment with an older bundled REXML. Exercise XML-processing endpoints with benign XML regression tests to ensure normal parsing still works after the upgrade. In a controlled non-production environment, test that XML containing an extremely long "&#x...;" numeric character reference is rejected quickly or processed without sustained CPU spikes. Validate compensating controls by checking that request body limits, WAF/API gateway rules, and rate limits trigger before XML reaches the parser.
Typical attack path
- Find an exposed application feature that accepts XML input, XML uploads, SOAP requests, webhook payloads, or XML-based integration messages.
- Confirm or infer that the service is implemented in Ruby and uses REXML to parse the submitted XML.
- Craft XML containing a hex numeric character reference with an abnormally long digit sequence between "&#x" and ";".
- Submit the XML to the vulnerable endpoint or processing queue.
- Cause the Ruby process parsing the XML to spend excessive CPU time in the parser.
- Repeat or parallelize submissions to degrade service availability or exhaust application worker capacity.
How to detect it
Review HTTP access logs, API gateway logs, WAF logs, reverse proxy logs, application logs, background job logs, and message broker payload metadata for XML submissions containing unusually long hex numeric character references. Search request bodies where retained for "&#x" followed by hundreds or thousands of hexadecimal characters before a semicolon. Correlate suspicious requests with spikes in Ruby process CPU, application worker timeouts, increased request duration, 502/503/504 responses, queue backlog growth, container restarts, or process supervisor restarts. Application logs may show XML parser exceptions, request timeouts, or generic worker termination rather than a distinctive exploit message. If full payload logging is unavailable, look for repeated large XML requests to XML-processing endpoints from the same source around periods of CPU exhaustion. For forensics, preserve relevant reverse proxy logs, WAF event bodies, application traces, APM spans, process metrics, and any queued XML messages received during the outage window.
- &#x[0-9A-Fa-f]{100,};
- &#x[0-9A-Fa-f]{1000,};
- �
- REXML::ParseException
- REXML::UndefinedNamespaceException
- REXML::Document.new
- application/xml
- text/xml
- Content-Type: application/xml
- Content-Type: text/xml
- ruby
What your security team should do
- Inventory Ruby applications, services, jobs, and containers that parse XML or include the REXML gem.
- Prioritize remediation for internet-facing XML endpoints, SOAP services, webhook receivers, file upload processors, and queue consumers that parse untrusted XML.
- Upgrade REXML to 3.3.9 or later, or move affected workloads to Ruby 3.2 or later where practical.
- Regenerate and redeploy lockfiles and container images so the patched gem is present in runtime artifacts, not only in source repositories.
- Add input validation or WAF/API gateway rules to reject XML containing extremely long hex numeric character references.
- Set request size limits, parser timeouts, worker timeouts, and rate limits for XML-processing routes.
- Monitor for repeated XML parse errors, long-running Ruby requests, high CPU saturation, worker timeouts, and payloads containing suspicious "&#x" sequences.
- Because there is no KEV listing, no known ransomware use, and low EPSS, handle as an availability-risk patching item, with faster action for externally reachable XML parsers.
The record
REXML is an XML toolkit for Ruby. The REXML gem before 3.3.9 has a ReDoS vulnerability when it parses an XML that has many digits between &# and x...; in a hex numeric character reference (&#x...;). This does not happen with Ruby 3.2 or later. Ruby 3.1 is the only affected maintained Ruby. The REXML gem 3.3.9 or later include the patch to fix the vulnerability.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| RubyGems | rexml | 0 | 3.3.9 |
| AlmaLinux:8 | ruby | 0 | 3.1.5-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | ruby | 0 | 2.5.9-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | ruby-bundled-gems | 0 | 3.1.5-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | ruby-default-gems | 0 | 3.1.5-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | ruby-devel | 0 | 3.1.5-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | ruby-devel | 0 | 2.5.9-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | ruby-doc | 0 | 3.1.5-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | ruby-doc | 0 | 2.5.9-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | ruby-irb | 0 | 2.5.9-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | ruby-libs | 0 | 3.1.5-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | ruby-libs | 0 | 2.5.9-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-abrt | 0 | 0.4.0-1.module_el8.9.0+3746+91b8233a |
| AlmaLinux:8 | rubygem-abrt | 0 | 0.3.0-4.module_el8.5.0+2625+ec418553 |
| AlmaLinux:8 | rubygem-abrt-doc | 0 | 0.4.0-1.module_el8.10.0+3854+02eaa59a |
| AlmaLinux:8 | rubygem-abrt-doc | 0 | 0.3.0-4.module_el8.5.0+2623+08a8ba32 |
| AlmaLinux:8 | rubygem-bigdecimal | 0 | 3.1.1-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-bigdecimal | 0 | 1.3.4-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-bson | 0 | 4.3.0-2.module_el8.5.0+259+8cec6917 |
| AlmaLinux:8 | rubygem-bson | 0 | 4.3.0-2.module_el8.5.0+2625+ec418553 |
| AlmaLinux:8 | rubygem-bson | 0 | 4.3.0-2.module_el8.6.0+3170+4b08f9d4 |
| AlmaLinux:8 | rubygem-bson-doc | 0 | 4.3.0-2.module_el8.5.0+2625+ec418553 |
| AlmaLinux:8 | rubygem-bundler | 0 | 2.3.27-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-bundler | 0 | 1.16.1-4.module_el8.10.0+3871+342e2c2f |
| AlmaLinux:8 | rubygem-bundler-doc | 0 | 1.16.1-4.module_el8.5.0+2625+ec418553 |
| AlmaLinux:8 | rubygem-did_you_mean | 0 | 1.2.0-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-io-console | 0 | 0.5.11-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-io-console | 0 | 0.4.6-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-irb | 0 | 1.4.1-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-json | 0 | 2.6.1-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-json | 0 | 2.1.0-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-minitest | 0 | 5.15.0-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-minitest | 0 | 5.10.3-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-mongo | 0 | 2.5.1-2.module_el8.5.0+2625+ec418553 |
| AlmaLinux:8 | rubygem-mongo-doc | 0 | 2.5.1-2.module_el8.5.0+2625+ec418553 |
| AlmaLinux:8 | rubygem-mysql2 | 0 | 0.5.3-3.module_el8.10.0+3854+02eaa59a |
| AlmaLinux:8 | rubygem-mysql2 | 0 | 0.5.3-3.module_el8.9.0+3746+91b8233a |
| AlmaLinux:8 | rubygem-mysql2 | 0 | 0.4.10-4.module_el8.5.0+259+8cec6917 |
| AlmaLinux:8 | rubygem-mysql2 | 0 | 0.4.10-4.module_el8.5.0+2625+ec418553 |
| AlmaLinux:8 | rubygem-mysql2 | 0 | 0.4.10-4.module_el8.6.0+3170+4b08f9d4 |
| AlmaLinux:8 | rubygem-mysql2-doc | 0 | 0.5.3-3.module_el8.10.0+3854+02eaa59a |
| AlmaLinux:8 | rubygem-mysql2-doc | 0 | 0.4.10-4.module_el8.5.0+2625+ec418553 |
| AlmaLinux:8 | rubygem-net-telnet | 0 | 0.1.1-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-openssl | 0 | 2.1.2-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-pg | 0 | 1.3.2-1.module_el8.10.0+3854+02eaa59a |
| AlmaLinux:8 | rubygem-pg | 0 | 1.3.2-1.module_el8.9.0+3746+91b8233a |
| AlmaLinux:8 | rubygem-pg | 0 | 1.0.0-3.module_el8.9.0+3635+c6f99506 |
| AlmaLinux:8 | rubygem-pg-doc | 0 | 1.3.2-1.module_el8.10.0+3854+02eaa59a |
| AlmaLinux:8 | rubygem-pg-doc | 0 | 1.0.0-3.module_el8.9.0+3635+c6f99506 |
| AlmaLinux:8 | rubygem-power_assert | 0 | 2.0.1-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-power_assert | 0 | 1.1.1-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-psych | 0 | 4.0.4-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-psych | 0 | 3.0.2-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-rake | 0 | 13.0.6-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-rake | 0 | 12.3.3-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-rbs | 0 | 2.7.0-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-rdoc | 0 | 6.4.1.1-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-rdoc | 0 | 6.0.1.1-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-rexml | 0 | 3.2.5-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-rss | 0 | 0.2.9-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-test-unit | 0 | 3.5.3-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-test-unit | 0 | 3.2.7-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygem-typeprof | 0 | 0.21.3-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygem-xmlrpc | 0 | 0.3.0-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygems | 0 | 3.3.27-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygems | 0 | 2.7.6.3-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:8 | rubygems-devel | 0 | 3.3.27-144.module_el8.10.0+3933+43481280 |
| AlmaLinux:8 | rubygems-devel | 0 | 2.7.6.3-113.module_el8.10.0+3932+2d440da3 |
| AlmaLinux:9 | ruby | 0 | 3.0.7-163.el9_5 |
| AlmaLinux:9 | ruby | 0 | 3.1.5-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | ruby-bundled-gems | 0 | 3.1.5-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | ruby-default-gems | 0 | 3.0.7-163.el9_5 |
| AlmaLinux:9 | ruby-default-gems | 0 | 3.1.5-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | ruby-devel | 0 | 3.0.7-163.el9_5 |
| AlmaLinux:9 | ruby-devel | 0 | 3.1.5-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | ruby-doc | 0 | 3.0.7-163.el9_5 |
| AlmaLinux:9 | ruby-doc | 0 | 3.1.5-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | ruby-libs | 0 | 3.0.7-163.el9_5 |
| AlmaLinux:9 | ruby-libs | 0 | 3.1.5-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-bigdecimal | 0 | 3.0.0-163.el9_5 |
| AlmaLinux:9 | rubygem-bigdecimal | 0 | 3.1.1-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-bundler | 0 | 2.2.33-163.el9_5 |
| AlmaLinux:9 | rubygem-bundler | 0 | 2.3.27-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-io-console | 0 | 0.5.7-163.el9_5 |
| AlmaLinux:9 | rubygem-io-console | 0 | 0.5.11-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-irb | 0 | 1.3.5-163.el9_5 |
| AlmaLinux:9 | rubygem-irb | 0 | 1.4.1-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-json | 0 | 2.5.1-163.el9_5 |
| AlmaLinux:9 | rubygem-json | 0 | 2.6.1-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-minitest | 0 | 5.14.2-163.el9_5 |
| AlmaLinux:9 | rubygem-minitest | 0 | 5.15.0-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-mysql2 | 0 | 0.5.4-1.module_el9.1.0+8+503f6fbd |
| AlmaLinux:9 | rubygem-mysql2-doc | 0 | 0.5.4-1.module_el9.1.0+8+503f6fbd |
| AlmaLinux:9 | rubygem-pg | 0 | 1.3.5-1.module_el9.1.0+8+503f6fbd |
| AlmaLinux:9 | rubygem-pg-doc | 0 | 1.3.5-1.module_el9.1.0+8+503f6fbd |
| AlmaLinux:9 | rubygem-power_assert | 0 | 1.2.1-163.el9_5 |
| AlmaLinux:9 | rubygem-power_assert | 0 | 2.0.1-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-psych | 0 | 3.3.2-163.el9_5 |
| AlmaLinux:9 | rubygem-psych | 0 | 4.0.4-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-rake | 0 | 13.0.3-163.el9_5 |
| AlmaLinux:9 | rubygem-rake | 0 | 13.0.6-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-rbs | 0 | 1.4.0-163.el9_5 |
| AlmaLinux:9 | rubygem-rbs | 0 | 2.7.0-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-rdoc | 0 | 6.3.4.1-163.el9_5 |
| AlmaLinux:9 | rubygem-rdoc | 0 | 6.4.1.1-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-rexml | 0 | 3.2.5-163.el9_5 |
| AlmaLinux:9 | rubygem-rexml | 0 | 3.2.5-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-rss | 0 | 0.2.9-163.el9_5 |
| AlmaLinux:9 | rubygem-rss | 0 | 0.2.9-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-test-unit | 0 | 3.3.7-163.el9_5 |
| AlmaLinux:9 | rubygem-test-unit | 0 | 3.5.3-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygem-typeprof | 0 | 0.15.2-163.el9_5 |
| AlmaLinux:9 | rubygem-typeprof | 0 | 0.21.3-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygems | 0 | 3.2.33-163.el9_5 |
| AlmaLinux:9 | rubygems | 0 | 3.3.27-145.module_el9.5.0+129+9ba7e8b1 |
| AlmaLinux:9 | rubygems-devel | 0 | 3.2.33-163.el9_5 |
| AlmaLinux:9 | rubygems-devel | 0 | 3.3.27-145.module_el9.5.0+129+9ba7e8b1 |
| Alpine:v3.19 | ruby-rexml | 0 | 3.3.9-r0 |
| Alpine:v3.20 | ruby-rexml | 0 | 3.3.9-r0 |
| Alpine:v3.21 | ruby-rexml | 0 | 3.3.9-r0 |
| Alpine:v3.22 | ruby-rexml | 0 | 3.3.9-r0 |
| Chainguard | graalvm-23 | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-ce | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-ce-dbg | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-ce-default-jdk | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-ce-jmods | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-ce-nodejs | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-ce-nodejs-dbg | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-ce-nodejs-default-jdk | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-ce-nodejs-jmods | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-graalpy | 0 | 23.0.2-r7 |
| Chainguard | graalvm-23-graalpy-venv | 0 | 23.0.2-r7 |
| Chainguard | jruby-9.4 | 0 | 9.4.9.0-r0 |
| Chainguard | jruby-9.4-default-ruby | 0 | 9.4.9.0-r0 |
| Chainguard | kube-fluentd-operator | 0 | 1.18.2-r18 |
| Chainguard | kube-fluentd-operator-compat | 0 | 1.18.2-r18 |
| Chainguard | kube-fluentd-operator-default-config | 0 | 1.18.2-r18 |
| Chainguard | kube-fluentd-operator-oci-entrypoint | 0 | 1.18.2-r18 |
| Chainguard | logstash-8 | 0 | 8.16.0-r1 |
| Chainguard | logstash-8-bitnami-compat | 0 | 8.16.0-r1 |
| Chainguard | logstash-8-compat | 0 | 8.16.0-r1 |
| Chainguard | logstash-8-env2yaml | 0 | 8.16.0-r1 |
| Chainguard | logstash-8-iamguarded-compat | 0 | 8.16.0-r1 |
| Chainguard | logstash-8-with-output-opensearch | 0 | 8.16.0-r1 |
| Chainguard | logstash-jre-bcfips | 0 | 8.16.0-r0 |
| Chainguard | logstash-jre-bcfips-compat | 0 | 8.16.0-r0 |
| Chainguard | logstash-jre-bcfips-env2yaml | 0 | 8.16.0-r0 |
| Chainguard | logstash-jre-bcfips-with-output-opensearch | 0 | 8.16.0-r0 |
| Chainguard | ruby-3.1 | 0 | 3.1.6-r6 |
| Chainguard | ruby-3.1-base | 0 | 3.1.6-r6 |
| Chainguard | ruby-3.1-base-dev | 0 | 3.1.6-r6 |
| Chainguard | ruby-3.1-dev | 0 | 3.1.6-r6 |
| Chainguard | ruby-3.1-doc | 0 | 3.1.6-r6 |
| Chainguard | ruby-3.2 | 0 | 3.2.6-r0 |
| Chainguard | ruby-3.2-base | 0 | 3.2.6-r0 |
| Chainguard | ruby-3.2-base-dev | 0 | 3.2.6-r0 |
| Chainguard | ruby-3.2-dev | 0 | 3.2.6-r0 |
| Chainguard | ruby-3.2-doc | 0 | 3.2.6-r0 |
| Chainguard | ruby-3.3 | 0 | 3.3.6-r0 |
| Chainguard | ruby-3.3-base | 0 | 3.3.6-r0 |
| Chainguard | ruby-3.3-base-dev | 0 | 3.3.6-r0 |
| Chainguard | ruby-3.3-dev | 0 | 3.3.6-r0 |
| Chainguard | ruby-3.3-doc | 0 | 3.3.6-r0 |
| Chainguard | ruby3.1-fluentd-kubernetes-daemonset-1.16 | 0 | 1.16.6.1.2-r1 |
| Chainguard | ruby3.1-fluentd-kubernetes-daemonset-1.16-kinesis | 0 | 1.16.6.1.2-r1 |
| Chainguard | ruby3.1-fluentd-kubernetes-daemonset-1.17 | 0 | 1.17.1.1.2-r1 |
| Chainguard | ruby3.1-fluentd-kubernetes-daemonset-1.17 | 0 | 1.17.1.1.2-r2 |
| Chainguard | ruby3.1-fluentd-kubernetes-daemonset-1.17-kinesis | 0 | 1.17.1.1.2-r1 |
| Chainguard | ruby3.1-fluentd-kubernetes-daemonset-1.17-kinesis | 0 | 1.17.1.1.2-r2 |
| Chainguard | ruby3.2-fluentd-kubernetes-daemonset-1.16 | 0 | 1.16.6.1.2-r2 |
| Chainguard | ruby3.2-fluentd-kubernetes-daemonset-1.16-kinesis | 0 | 1.16.6.1.2-r2 |
| Chainguard | ruby3.2-fluentd-kubernetes-daemonset-1.17 | 0 | 1.17.1.1.2-r1 |
| Chainguard | ruby3.2-fluentd-kubernetes-daemonset-1.17-kinesis | 0 | 1.17.1.1.2-r1 |
| Chainguard | ruby3.3-fluentd-kubernetes-daemonset-1.16 | 0 | 1.16.6.1.2-r2 |
| Chainguard | ruby3.3-fluentd-kubernetes-daemonset-1.16-kinesis | 0 | 1.16.6.1.2-r2 |
| Chainguard | ruby3.3-fluentd-kubernetes-daemonset-1.17 | 0 | 1.17.1.1.2-r1 |
| Chainguard | ruby3.3-fluentd-kubernetes-daemonset-1.17 | 0 | 1.17.1.1.2-r2 |
| Chainguard | ruby3.3-fluentd-kubernetes-daemonset-1.17 | 0 | 1.17.1.1.2-r7 |
| Chainguard | ruby3.3-fluentd-kubernetes-daemonset-1.17-kinesis | 0 | 1.17.1.1.2-r1 |
| Chainguard | ruby3.3-fluentd-kubernetes-daemonset-1.17-kinesis | 0 | 1.17.1.1.2-r2 |
| Chainguard | ruby3.3-fluentd-kubernetes-daemonset-1.17-kinesis | 0 | 1.17.1.1.2-r7 |
| Chainguard | ruby3.4-fluentd-kubernetes-daemonset-1.16 | 0 | 1.16.6.1.2-r2 |
| Chainguard | ruby3.4-fluentd-kubernetes-daemonset-1.16-kinesis | 0 | 1.16.6.1.2-r2 |
| Chainguard | ruby3.4-fluentd-kubernetes-daemonset-1.17 | 0 | 1.17.1.1.2-r2 |
| Chainguard | ruby3.4-fluentd-kubernetes-daemonset-1.17-kinesis | 0 | 1.17.1.1.2-r2 |
| Debian:11 | ruby2.7 | 0 | No fix |
| Debian:11 | ruby2.7 | 0 | 2.7.4-1+deb11u3 |
| Debian:12 | ruby3.1 | 0 | No fix |
| Debian:13 | ruby3.1 | 0 | No fix |
| Debian:13 | ruby3.3 | 0 | No fix |
| Mageia:9 | ruby | 0 | 3.1.5-46.mga9 |
| Red Hat:enterprise_linux:8::appstream | ruby | 0 | 0:3.1.5-144.module+el8.10.0+22580+b97d9670 |
| Red Hat:enterprise_linux:8::appstream | ruby | 0 | 0:2.5.9-113.module+el8.10.0+22581+23fc9c9e |
| Red Hat:enterprise_linux:8::appstream | ruby-bundled-gems | 0 | 0:3.1.5-144.module+el8.10.0+22580+b97d9670 |
| Red Hat:enterprise_linux:8::appstream | ruby-bundled-gems-debuginfo | 0 | 0:3.1.5-144.module+el8.10.0+22580+b97d9670 |
| Red Hat:enterprise_linux:8::appstream | ruby-debuginfo | 0 | 0:3.1.5-144.module+el8.10.0+22580+b97d9670 |
| Red Hat:enterprise_linux:8::appstream | ruby-debuginfo | 0 | 0:2.5.9-113.module+el8.10.0+22581+23fc9c9e |
| Red Hat:enterprise_linux:8::appstream | ruby-debugsource | 0 | 0:3.1.5-144.module+el8.10.0+22580+b97d9670 |
| Red Hat:enterprise_linux:8::appstream | ruby-debugsource | 0 | 0:2.5.9-113.module+el8.10.0+22581+23fc9c9e |
| Red Hat:enterprise_linux:8::appstream | ruby-default-gems | 0 | 0:3.1.5-144.module+el8.10.0+22580+b97d9670 |
Related vulnerabilities
- CVE-2025-58767 REXML is an XML toolkit for Ruby. Also affects rexml
- CVE-2024-41946 REXML is an XML toolkit for Ruby. Also affects rexml
- CVE-2024-41123 REXML is an XML toolkit for Ruby. Also affects rexml
- CVE-2024-39908 REXML is an XML toolkit for Ruby. Also affects rexml
- CVE-2025-27221 In the URI gem before 1.0.3 for Ruby, the URI handling methods (URI.join, URI#merge… Also affects ruby
- CVE-2025-25186 Net::IMAP implements Internet Message Access Protocol (IMAP) client functionality in Ruby. Also affects ruby
- CVE-2024-27281 An issue was discovered in RDoc 6.3.3 through 6.6.2, as distributed in Ruby 3.x through… Also affects ruby
- CVE-2024-27282 An issue was discovered in Ruby 3.x through 3.3.0. Also affects ruby