Vulnerability Information
Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.
Vulnerability Title
concurrent-ruby: `AtomicReference#update` livelocks when the stored value is `Float::NAN`
Vulnerability Description
concurrent-ruby is a modern concurrency tools for Ruby. Prior to 1.3.7, Concurrent::AtomicReference#update can enter a permanent busy retry loop when the current value is Float::NAN. The issue is caused by the interaction between AtomicReference#update, which retries until compare_and_set(old_value, new_value) succeeds; Numeric compare_and_set, which checks old == old_value before attempting the underlying atomic swap.; and Ruby NaN semantics, where Float::NAN == Float::NAN is always false. As a result, once an AtomicReference contains Float::NAN, calling #update repeatedly evaluates the caller's block and never returns. In services that store externally derived numeric values in an AtomicReference, this can cause CPU exhaustion or permanent request/job hangs. This vulnerability is fixed in 1.3.7.
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Vulnerability Type
不可达退出条件的循环(无限循环)
Vulnerability Title
ruby-concurrency concurrent-ruby 资源管理错误漏洞
Vulnerability Description
ruby-concurrency Concurrent Ruby是ruby-concurrency组织开源的一款并发编程工具库。 concurrent-ruby 1.3.7之前版本存在资源管理错误漏洞,该漏洞源于当Concurrent::AtomicReference#update的当前值为Float::NAN时,易进入永久忙重试循环,导致CPU耗尽或永久请求/作业挂起。以下版本受到影响:1.3.7之前版本。
CVSS Information
N/A
Vulnerability Type
N/A