CVE-2026-8469
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 42 - wyżej niż 42% wszystkich znanych CVE
Streszczenie
phoenix_storybook przed wersją 1.1.0 ma lukę polegającą na alokacji zasobów bez ograniczeń, która pozwala nieuwierzytelnionemu atakującemu na przeprowadzenie ataku DoS przez wyczerpanie tablicy atomów BEAM. Kilka procedur obsługi zdarzeń LiveView konwertuje parametry od użytkownika na atomy bez walidacji, a atomy BEAM nie są odśmiecane, co prowadzi do trwałej alokacji i awarii węzła BEAM po osiągnięciu limitu (~1,048,576 atomów).
Ocena ryzyka
Nieuwierzytelniony atakujący może spowodować awarię całego węzła BEAM, co zatrzymuje wszystkie działające na nim aplikacje, prowadząc do przerwy w działaniu usług.
Rekomendacja
Zaleca się aktualizację phoenix_storybook do wersji 1.1.0 lub nowszej.
Inne podatności w phoenix_storybook
Oryginalny opis (angielski, źródło NVD)
Allocation of Resources Without Limits or Throttling vulnerability in phenixdigital phoenix_storybook allows unauthenticated denial-of-service via BEAM atom table exhaustion. Multiple LiveView event handlers convert user-supplied event parameter strings to atoms using String.to_atom/1 without validation: 'Elixir.PhoenixStorybook.ExtraAssignsHelpers':handle_set_variation_assign/3 interns every key of the psb-assign params map; 'Elixir.PhoenixStorybook.ExtraAssignsHelpers':handle_toggle_variation_assign/3 interns the "attr" value from psb-toggle events; 'Elixir.PhoenixStorybook.ExtraAssignsHelpers':to_variation_id/2 interns elements of "variation_id"; and 'Elixir.PhoenixStorybook.ExtraAssignsHelpers':to_value/4 interns raw string values for attributes declared as :atom or :boolean. BEAM atoms are never garbage-collected, so each unique attacker-controlled string is a permanent allocation. Once the atom table ceiling (~1,048,576 atoms) is reached, the entire BEAM node aborts, taking down all applications running on it. This issue affects phoenix_storybook from 0.2.0 before 1.1.0.

