Concurrent-Ruby는 Ruby를 위한 최신 동시성 도구입니다. 1.3.7 이전에는 현재 값이 Float::NAN일 때 Concurrent::AtomicReference#update가 영구적인 사용 중 재시도 루프를 시작할 수 있습니다. 이 문제는 Compare_and_set(old_value, new_value)가 성공할 때까지 재시도하는 AtomicReference#update 간의 상호 작용으로 인해 발생합니다. 기본 원자 교환을 시도하기 전에 old == old_value를 확인하는 숫자 Compare_and_set.; 그리고 Ruby NaN 의미 체계. 여기서 Float::NAN == Float::NAN은 항상 false입니다. 로서
Concurrent-Ruby는 Ruby를 위한 최신 동시성 도구입니다. 1.3.7 이전에는 현재 값이 Float::NAN일 때 Concurrent::AtomicReference#update가 영구적인 사용 중 재시도 루프를 시작할 수 있습니다. 이 문제는 Compare_and_set(old_value, new_value)가 성공할 때까지 재시도하는 AtomicReference#update 간의 상호 작용으로 인해 발생합니다. 기본 원자 교환을 시도하기 전에 old == old_value를 확인하는 숫자 Compare_and_set.; 그리고 Ruby NaN 의미 체계. 여기서 Float::NAN == Float::NAN은 항상 false입니다. 결과적으로 AtomicReference에 Float::NAN이 포함되면 #update를 호출하면 호출자의 블록을 반복적으로 평가하고 반환하지 않습니다. AtomicReference에 외부에서 파생된 숫자 값을 저장하는 서비스에서는 이로 인해 CPU가 소모되거나 영구적인 요청/작업이 중단될 수 있습니다. 이 취약점은 1.3.7에서 수정되었습니다.
| 소스 | CVSS 버전 | 기본 점수 | 심각도 | 벡터 문자열 | 평가일 |
|---|---|---|---|---|---|
| NVDNIST | 3.1 | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | 2026. 06. 27. |
| NVDNIST | 4.0 | 8.2 |
| 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| 2026. 06. 25. |