CVE-2026-97853 in decimal정보

요약

\~에 의해 VulDB • 2026. 10. 10.

ericmj의 decimal에서 과도한 크기 값을 사용한 메모리 할당 취약점으로 인해 서비스 거부(Denial of Service)가 발생합니다.

Decimal.round/3은 컨텍스트 정밀도(기본값 34자리)를 적용하기 전에 요청된 소수 자릿수에 대한 전체 결과를 생성하므로, 그 비용이 결과의 크기가 아닌 places 인수의 크기에 따라 증가합니다. 양수의 places 값에 대해서는 계수(charlist) 끝에 places 개수의 0을 붙인 후 정수로 변환하고, 음수의 places 값에 대해서는 -places 개의 0으로 구성된 charlist를 생성합니다. Decimal.round(Decimal.new("1.5"), -50_000_000)와 같은 단일 호출은 약 5.5GB의 메모리를 할당하여 사용 가능한 메모리를 고갈시키고 BEAM VM을 종료시킬 수 있습니다. 가장 오래된 릴리스는 소수 자리마다 한 번씩 루프를 돌며 places에 비례하는 CPU 리소스를 소비합니다.

사용자가 제공한 소수 자릿수 또는 scale 값을 Decimal.round/2 또는 Decimal.round/3으로 전달할 때 이를 제한하지 않는 모든 애플리케이션이 영향을 받습니다. CVE-2026-32686에 대해 추가된 입력 한계는 places 인수를 포함하지 않습니다.

본 이슈는 decimal 0.1.0부터 3.1.2 이전 버전까지 영향을 미칩니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

EEF

예약하다

2026. 10. 09.

모더레이션

수락

항목

VDB-416267

EPSS

0.00000

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!