CVE-2026-32686
ŚrednieCVSS 6.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
Podatność niekontrolowanego zużycia zasobów w bibliotece decimal umożliwia nieuwierzytelnioną zdalną odmowę usługi. Biblioteka decimal nie ogranicza wykładnika w analizowanych danych wejściowych. Przechowywanie liczby dziesiętnej z bardzo dużym wykładnikiem (np. Decimal.new("1e1000000000")) jest akceptowane bez błędu. Kolejne wywołania funkcji arytmetycznych, formatowania, konwersji do liczby całkowitej lub porównania z progiem alokują pamięć proporcjonalnie do wartości wykładnika, co może wyczerpać dostępną pamięć i spowodować awarię BEAM VM. Każda aplikacja przyjmująca dane dziesiętne od użytkownika i wykonująca na nich operacje jest narażona. Pojedyncze złośliwe żądanie wystarczy do awarii z powodu braku pamięci. Problem dotyczy decimal od 0.1.0 przed 3.0.0.
Ocena ryzyka
Ryzyko awarii BEAM VM i przerwania działania aplikacji Elixira/Erlanga, co może prowadzić do odmowy usługi.
Rekomendacja
Zaleca się aktualizację biblioteki decimal do wersji 3.0.0 lub nowszej oraz walidację danych wejściowych pod kątem rozmiaru wykładnika.
Inne podatności w decimal
Oryginalny opis (angielski, źródło NVD)
Uncontrolled Resource Consumption vulnerability in ericmj decimal allows unauthenticated remote Denial of Service. The decimal library does not bound the exponent on parsed input. Storing a decimal with a very large exponent (e.g. Decimal.new("1e1000000000")) is accepted without error. Subsequent calls to arithmetic functions (Decimal.add/2, Decimal.sub/2, Decimal.div/2M), Decimal.to_string/2M with :normalM or :xsdM format, Decimal.to_integer/1M, Decimal.round/3M, or Decimal.compare/3M with a threshold allocate memory proportional to the exponent value, which can exhaust available memory and crash the BEAM VM. Any application that accepts user-supplied decimal input and subsequently performs arithmetic, rounding, conversion to integer, or string formatting on it is exposed. A single malicious request is sufficient to cause an out-of-memory crash. This issue affects decimal: from 0.1.0 before 3.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

