OESA-2026-3534 (CVE-2025-24294)
Vulnerability from osv_openeuler – Published: 2026-08-30 04:15 – Updated: 2026-08-30 04:15 – Source websiteRuby is a fast and easy interpreted scripting language for object-oriented programming. It has many functions for processing text Files and perform system management tasks (such as Perl).
Security Fix(es):
The attack vector is a potential Denial of Service (DoS). The vulnerability is caused by an insufficient check on the length of a decompressed domain name within a DNS packet.
An attacker can craft a malicious DNS packet containing a highly compressed domain name. When the resolv library parses such a packet, the name decompression process consumes a large amount of CPU resources, as the library does not limit the resulting length of the name.
This resource consumption can cause the application thread to become unresponsive, resulting in a Denial of Service condition.(CVE-2025-24294)
zlib is a Ruby interface for the zlib compression/decompression library. Versions 3.0.0 and below, 3.1.0, 3.1.1, 3.2.0 and 3.2.1 contain a buffer overflow vulnerability in the Zlib::GzipReader. The zstream_buffer_ungets function prepends caller-provided bytes ahead of previously produced output but fails to guarantee the backing Ruby string has enough capacity before the memmove shifts the existing data. This can lead to memory corruption when the buffer length exceeds capacity. This issue has been fixed in versions 3.0.1, 3.1.2 and 3.2.3.(CVE-2026-27820)
| URL | Type | |
|---|---|---|
{
"affected": [
{
"ecosystem_specific": {
"aarch64": [
"ruby-3.2.2-157.oe2403sp1.aarch64.rpm",
"ruby-bundled-gems-3.2.2-157.oe2403sp1.aarch64.rpm",
"ruby-debuginfo-3.2.2-157.oe2403sp1.aarch64.rpm",
"ruby-debugsource-3.2.2-157.oe2403sp1.aarch64.rpm",
"ruby-devel-3.2.2-157.oe2403sp1.aarch64.rpm",
"rubygem-bigdecimal-3.1.3-157.oe2403sp1.aarch64.rpm",
"rubygem-io-console-0.6.0-157.oe2403sp1.aarch64.rpm",
"rubygem-json-2.6.3-157.oe2403sp1.aarch64.rpm",
"rubygem-openssl-3.1.0-157.oe2403sp1.aarch64.rpm",
"rubygem-psych-5.0.1-157.oe2403sp1.aarch64.rpm",
"rubygem-rbs-2.8.2-157.oe2403sp1.aarch64.rpm"
],
"noarch": [
"ruby-help-3.2.2-157.oe2403sp1.noarch.rpm",
"ruby-irb-3.2.2-157.oe2403sp1.noarch.rpm",
"rubygem-did_you_mean-1.6.3-157.oe2403sp1.noarch.rpm",
"rubygem-minitest-5.16.3-157.oe2403sp1.noarch.rpm",
"rubygem-rake-13.0.6-157.oe2403sp1.noarch.rpm",
"rubygem-rdoc-6.5.0-157.oe2403sp1.noarch.rpm",
"rubygem-rexml-3.2.5-157.oe2403sp1.noarch.rpm",
"rubygem-rss-0.2.9-157.oe2403sp1.noarch.rpm",
"rubygem-test-unit-3.5.7-157.oe2403sp1.noarch.rpm",
"rubygem-typeprof-0.21.3-157.oe2403sp1.noarch.rpm",
"rubygems-3.4.10-157.oe2403sp1.noarch.rpm",
"rubygems-devel-3.4.10-157.oe2403sp1.noarch.rpm"
],
"src": [
"ruby-3.2.2-157.oe2403sp1.src.rpm"
],
"x86_64": [
"ruby-3.2.2-157.oe2403sp1.x86_64.rpm",
"ruby-bundled-gems-3.2.2-157.oe2403sp1.x86_64.rpm",
"ruby-debuginfo-3.2.2-157.oe2403sp1.x86_64.rpm",
"ruby-debugsource-3.2.2-157.oe2403sp1.x86_64.rpm",
"ruby-devel-3.2.2-157.oe2403sp1.x86_64.rpm",
"rubygem-bigdecimal-3.1.3-157.oe2403sp1.x86_64.rpm",
"rubygem-io-console-0.6.0-157.oe2403sp1.x86_64.rpm",
"rubygem-json-2.6.3-157.oe2403sp1.x86_64.rpm",
"rubygem-openssl-3.1.0-157.oe2403sp1.x86_64.rpm",
"rubygem-psych-5.0.1-157.oe2403sp1.x86_64.rpm",
"rubygem-rbs-2.8.2-157.oe2403sp1.x86_64.rpm"
]
},
"package": {
"ecosystem": "openEuler:24.03-LTS-SP1",
"name": "ruby",
"purl": "pkg:rpm/openEuler/ruby\u0026distro=openEuler-24.03-LTS-SP1"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.2.2-157.oe2403sp1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"severity": "Critical"
},
"details": "Ruby is a fast and easy interpreted scripting language for object-oriented programming. It has many functions for processing text Files and perform system management tasks (such as Perl).\r\n\r\nSecurity Fix(es):\n\nThe attack vector is a potential Denial of Service (DoS). The vulnerability is caused by an insufficient check on the length of a decompressed domain name within a DNS packet.\n\nAn attacker can craft a malicious DNS packet containing a highly compressed domain name. When the resolv library parses such a packet, the name decompression process consumes a large amount of CPU resources, as the library does not limit the resulting length of the name.\n\nThis resource consumption can cause the application thread to become unresponsive, resulting in a Denial of Service condition.(CVE-2025-24294)\n\nzlib is a Ruby interface for the zlib compression/decompression library. Versions 3.0.0 and below, 3.1.0, 3.1.1, 3.2.0 and 3.2.1 contain a buffer overflow vulnerability in the Zlib::GzipReader. The zstream_buffer_ungets function prepends caller-provided bytes ahead of previously produced output but fails to guarantee the backing Ruby string has enough capacity before the memmove shifts the existing data. This can lead to memory corruption when the buffer length exceeds capacity. This issue has been fixed in versions 3.0.1, 3.1.2 and 3.2.3.(CVE-2026-27820)",
"id": "OESA-2026-3534",
"modified": "2026-08-30T04:15:20Z",
"published": "2026-08-30T04:15:20Z",
"references": [
{
"type": "ADVISORY",
"url": "https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3534"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-24294"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-27820"
}
],
"schema_version": "1.7.2",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "ruby security update",
"upstream": [
"CVE-2025-24294",
"CVE-2026-27820"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.