An issue was discovered in Ruby 4 before 4.0.5. A race condition leading to a use-after-free in the pthread-based getaddrinfo timeout handler (rb_getaddrinfo in ext/socket/raddrinfo.c) allows a remote attacker who can delay DNS responses near the user-specified timeout to crash a Ruby process that calls Addrinfo.getaddrinfo(..., timeout:) or Socket.tcp(..., resolv_timeout:). Memory-corruption-based exploitation is theoretically possible. The attack could, for example, be carried out through a crafted authoritative DNS server or recursive resolver.
Metrics
Affected Vendors & Products
References
History
Fri, 22 May 2026 19:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Race Condition in Ruby 4 getaddrinfo Leading to Use‑After‑Free and Process Crash |
Fri, 22 May 2026 19:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Fri, 22 May 2026 18:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | An issue was discovered in Ruby 4 before 4.0.5. A race condition leading to a use-after-free in the pthread-based getaddrinfo timeout handler (rb_getaddrinfo in ext/socket/raddrinfo.c) allows a remote attacker who can delay DNS responses near the user-specified timeout to crash a Ruby process that calls Addrinfo.getaddrinfo(..., timeout:) or Socket.tcp(..., resolv_timeout:). Memory-corruption-based exploitation is theoretically possible. The attack could, for example, be carried out through a crafted authoritative DNS server or recursive resolver. | |
| First Time appeared |
Ruby-lang
Ruby-lang ruby |
|
| Weaknesses | CWE-362 | |
| CPEs | cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Ruby-lang
Ruby-lang ruby |
|
| References |
| |
| Metrics |
cvssV3_1
|
Status: PUBLISHED
Assigner: mitre
Published:
Updated: 2026-05-22T18:41:39.767Z
Reserved: 2026-05-16T00:00:00.000Z
Link: CVE-2026-46727
Updated: 2026-05-22T18:41:36.038Z
No data.
No data.
OpenCVE Enrichment
Updated: 2026-05-22T21:00:11Z