Every CVE Search/ Get API key

CVE-2026-46727

An issue was discovered in Ruby 4 before 4.0.5. A race condition leading to a use-after-free in...

8.1 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.48%Up 0.4 points since May 23, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.1

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.

Record
CVE-2026-46727
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-362
Updated
2026-11-02
EUVDEUVD-2026-31477 8.1

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.

Record
EUVD-2026-31477
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-jfc8-2xw7-c79m 8.1

An issue was discovered in Ruby 4 before 4.0.5. A race condition leading to a use-after-free in...

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.

Record
GHSA-jfc8-2xw7-c79m
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-362
Updated
2026-11-02
NVD 8.1

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.

Record
CVE-2026-46727
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-362
Updated
2026-11-02
OSVBELL-CVE-2026-46727 8.1

CVE-2026-46727 does not affect BellSoft software

Record
BELL-CVE-2026-46727
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSV 8.1

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.

Record
CVE-2026-46727
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-362
Updated
2026-11-02
Show 4 moreShow less
OSVUBUNTU-CVE-2026-46727 8.1

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.

Record
UBUNTU-CVE-2026-46727
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVBIT-ruby-2026-46727 No score

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.

Record
BIT-ruby-2026-46727
Updated
2026-11-02
OSVBIT-ruby-min-2026-46727 No score

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.

Record
BIT-ruby-min-2026-46727
Updated
2026-11-02
OSVopenSUSE-SU-2026:10839-1 No score

libruby4_0-4_0-4.0.5-1.1 on GA media

These are all security issues fixed in the libruby4_0-4_0-4.0.5-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10839-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
ruby
Bitnami
4.0.0 up to 4.0.5
4.0.5
ruby-min
Bitnami
4.0.0 up to 4.0.5
4.0.5
jruby
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
1.5.6-5ubuntu11.5.6-61.5.6-71.5.6-9+deb8u2build0.14.04.1~esm2
None known
ruby2.3
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
2.3.0-12.3.0-22.3.0-4ubuntu22.3.0-4ubuntu32.3.0-5ubuntu1
Show 28 moreShow less
2.3.1-2~16.042.3.1-2~16.04.22.3.1-2~16.04.42.3.1-2~16.04.52.3.1-2~16.04.62.3.1-2~16.04.72.3.1-2~16.04.92.3.1-2~16.04.102.3.1-2~16.04.112.3.1-2~16.04.122.3.1-2~ubuntu16.04.132.3.1-2~ubuntu16.04.142.3.1-2~ubuntu16.04.152.3.1-2~ubuntu16.04.162.3.1-2~ubuntu16.04.16+esm12.3.1-2~ubuntu16.04.16+esm22.3.1-2~ubuntu16.04.16+esm32.3.1-2~ubuntu16.04.16+esm42.3.1-2~ubuntu16.04.16+esm52.3.1-2~ubuntu16.04.16+esm62.3.1-2~ubuntu16.04.16+esm72.3.1-2~ubuntu16.04.16+esm82.3.1-2~ubuntu16.04.16+esm92.3.1-2~ubuntu16.04.16+esm102.3.1-2~ubuntu16.04.16+esm112.3.1-2~ubuntu16.04.16+esm122.3.1-2~ubuntu16.04.16+esm142.3.1-2~ubuntu16.04.16+esm15
None known
jruby
Ubuntu:16.04:LTS
All versions, plus listed versions
1.7.21-2ubuntu41.7.22-1ubuntu1
None known
ruby2.5
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
2.5.0~preview1-1ubuntu22.5.0-4ubuntu12.5.0-4ubuntu42.5.0-5ubuntu12.5.0-6ubuntu1
Show 23 moreShow less
2.5.1-1ubuntu12.5.1-1ubuntu1.12.5.1-1ubuntu1.22.5.1-1ubuntu1.42.5.1-1ubuntu1.52.5.1-1ubuntu1.62.5.1-1ubuntu1.72.5.1-1ubuntu1.82.5.1-1ubuntu1.92.5.1-1ubuntu1.102.5.1-1ubuntu1.112.5.1-1ubuntu1.122.5.1-1ubuntu1.132.5.1-1ubuntu1.142.5.1-1ubuntu1.152.5.1-1ubuntu1.162.5.1-1ubuntu1.16+esm12.5.1-1ubuntu1.16+esm32.5.1-1ubuntu1.16+esm42.5.1-1ubuntu1.16+esm52.5.1-1ubuntu1.16+esm62.5.1-1ubuntu1.16+esm72.5.1-1ubuntu1.16+esm8
None known
jruby
Ubuntu:18.04:LTS
All versions, plus listed versions
9.1.13.0-19.1.17.0-1~18.04
None known
ruby2.7
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
2.7.0-12.7.0-22.7.0-32.7.0-42.7.0-4ubuntu1
Show 23 moreShow less
2.7.0-5ubuntu12.7.0-5ubuntu1.12.7.0-5ubuntu1.22.7.0-5ubuntu1.32.7.0-5ubuntu1.42.7.0-5ubuntu1.52.7.0-5ubuntu1.62.7.0-5ubuntu1.72.7.0-5ubuntu1.82.7.0-5ubuntu1.92.7.0-5ubuntu1.102.7.0-5ubuntu1.112.7.0-5ubuntu1.122.7.0-5ubuntu1.132.7.0-5ubuntu1.142.7.0-5ubuntu1.152.7.0-5ubuntu1.162.7.0-5ubuntu1.172.7.0-5ubuntu1.182.7.0-5ubuntu1.18+esm12.7.0-5ubuntu1.18+esm32.7.0-5ubuntu1.18+esm42.7.0-5ubuntu1.18+esm5
None known
jruby
Ubuntu:20.04:LTS
All versions, plus listed versions
9.1.17.0-39.1.17.0-3build59.1.17.0-3build6
None known
ruby3.0
Ubuntu:22.04:LTS
All versions, plus listed versions
3.0.2-5ubuntu13.0.2-73.0.2-7ubuntu23.0.2-7ubuntu2.13.0.2-7ubuntu2.2
Show 10 moreShow less
3.0.2-7ubuntu2.33.0.2-7ubuntu2.43.0.2-7ubuntu2.53.0.2-7ubuntu2.63.0.2-7ubuntu2.73.0.2-7ubuntu2.83.0.2-7ubuntu2.103.0.2-7ubuntu2.113.0.2-7ubuntu2.123.0.2-7ubuntu2.13
None known
Show 9 moreShow less
Affected packages
PackageAffectedFixed
jruby
Ubuntu:24.04:LTS
All versions, plus listed versions
9.3.9.0+ds-19.4.5.0+ds-19.4.5.0+ds-1ubuntu19.4.6.0+ds-1ubuntu3
None known
ruby3.2
Ubuntu:24.04:LTS
All versions, plus listed versions
3.2.3-13.2.3-1build23.2.3-1build33.2.3-1ubuntu0.24.04.13.2.3-1ubuntu0.24.04.3
Show 4 moreShow less
3.2.3-1ubuntu0.24.04.53.2.3-1ubuntu0.24.04.63.2.3-1ubuntu0.24.04.73.2.3-1ubuntu0.24.04.8
None known
jruby
Ubuntu:25.10
All versions, plus listed versions
9.4.8.0+ds-2ubuntu19.4.8.0+ds-3ubuntu1
None known
ruby3.3
Ubuntu:25.10
All versions, plus listed versions
3.3.7-1ubuntu23.3.8-2ubuntu13.3.8-2ubuntu23.3.8-2ubuntu2.1
None known
jruby
Ubuntu:26.10
All versions, plus listed versions
9.4.8.0+ds-3ubuntu19.4.14.0+ds-1
None known
ruby3.3
Ubuntu:26.10
All versions, plus listed versions
3.3.8-2ubuntu33.3.8-2.2ubuntu4
None known
jruby
Ubuntu:26.04:LTS
All versions, plus listed versions
9.4.8.0+ds-3ubuntu1
None known
ruby3.3
Ubuntu:26.04:LTS
All versions, plus listed versions
3.3.8-2ubuntu23.3.8-2ubuntu33.3.8-2ubuntu3.1
None known
ruby4.0
openSUSE:Tumbleweed
before 4.0.5-1.1
4.0.5-1.1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-46727 is a high vulnerability (CVSS 8.1) in Hackerone Ruby, published May 21, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.48%, the 41st percentile. Fixed in ruby 4.0.5.

References

MoveEnter Open