漏洞信息
尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。
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