Katalog CVE

CVE-2026-115274

ŚrednieCVSS 6.9
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.50%

Percentyl 43 - wyżej niż 43% wszystkich znanych CVE

Streszczenie

Podatność polegająca na nieprawidłowej walidacji ilości w danych wejściowych w module JSON biblioteki standardowej Elixir pozwala nieuwierzytelnionemu atakującemu dostarczającemu dokument JSON na wywołanie ataku denial-of-service poprzez wyczerpanie CPU i pamięci. JSON.decode/1 i JSON.decode!/1 konwertują każdy literał całkowity za pomocą erlang:binary_to_integer/1 bez ograniczenia jego długości.

Ocena ryzyka

Literał o milionie cyfr dekoduje się pomyślnie, ale kosztuje 100 do 300 razy więcej CPU niż ciąg tej samej długości, więc jedno ciało żądania o kilku megabajtach zajmuje scheduler na około sekundę. Aplikacje generowane przez phx.new dekodują ciała żądań za pomocą JSON w Plug.Parsers przed routingiem i uwierzytelnianiem.

Rekomendacja

Zaktualizuj Elixir do wersji 1.18.6, 1.19.7 lub 1.20.5 (lub nowszej) w zależności od używanej gałęzi. Do czasu wdrożenia rozważ ograniczenie rozmiaru ciał żądań na poziomie serwera proxy.

Inne podatności w Elixir

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Improper Validation of Specified Quantity in Input vulnerability in the Elixir standard library's JSON module allows an unauthenticated attacker who supplies a JSON document to cause a denial of service through CPU and memory exhaustion. JSON.decode/1 and JSON.decode!/1 convert each integer literal with erlang:binary_to_integer/1 and do not bound its length. A literal of one million digits decodes successfully but costs 100 to 300 times as much CPU as a string of the same length, so one request body of a few megabytes holds a scheduler for about a second. A literal of more than about 1.29 million digits raises SystemLimitError. Applications generated by phx.new decode request bodies with JSON in Plug.Parsers, before routing and authentication. This issue affects elixir: from 1.18.0-rc.0 before 1.18.6, from 1.19.0-rc.0 before 1.19.7, and from 1.20.0-rc.0 before 1.20.5.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS