CVE-2026-105283
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
W ash_typescript (npm) przed wersją 0.19.1 wykryto podatność polegającą na generowaniu komunikatów błędów zawierających wrażliwe informacje. Nieuwierzytelniony atakujący może odczytać wewnętrzne termy Elixir z odpowiedzi błędów RPC, wywołując błąd, dla którego builder błędów nie ma dedykowanej klauzuli. Dotyczy to funkcji AshTypescript.Rpc.ErrorBuilder.build_error_response/1 oraz ścieżek z cast_map_to_struct/2 i format_field_type/1.
Ocena ryzyka
Podatność umożliwia nieautoryzowanym użytkownikom uzyskanie wrażliwych informacji o wewnętrznej strukturze aplikacji, co może ułatwić dalsze ataki.
Rekomendacja
Zaleca się aktualizację ash_typescript do wersji 0.19.1 lub nowszej, która zawiera poprawkę.
Inne podatności w ash_typescript
Zobacz wszystkie- CVE-2026-82733Średnie
Podatność na generowanie komunikatów błędów zawierających wrażliwe informacje w ash_typescript pozwala nieuwierzytelnionemu atakującemu odczytać wewnętrzne dane aplikacji z treści odpowiedzi HTTP 500. Gdy handler trasy zwraca wartość inną niż %Plug.Conn{}, funkcja unexpected_return/2 interpoluje pełną reprezentację wartości (w tym hasła, tokeny, identyfikatory) do komunikatu błędu.
- CVE-2026-82732Średnie
Podatność na nieprawidłową walidację danych wejściowych w ash_typescript pozwala zdalnemu atakującemu przesyłać wartości argumentów spoza zadeklarowanej listy dozwolonych lub ograniczeń na trasach kontrolera typowanego. Funkcja Ash.Type.cast_input/3 traktowana jest jako pełna walidacja, ale nie wywołuje Ash.Type.apply_constraints/3, przez co ograniczenia takie jak one_of, max_length, min, max i match są ignorowane.
- CVE-2026-82731Niskie
Podatność w bibliotece ash_typescript umożliwia atakującemu kontrolującemu wartość parametru ścieżki przekierowanie żądania wygenerowanego klienta, wraz z dołączonymi poświadczeniami, do nieoczekiwanej trasy lub zewnętrznego źródła.
- CVE-2026-82730Wysokie
Podatność na nieprawidłową autoryzację w ash_typescript pozwala nieautoryzowanemu wywołującemu RPC na odczytanie wartości atrybutów, które zostały zablokowane przez polityki pól Ash. Gdy polityka pól blokuje atrybut, Ash podstawia %Ash.ForbiddenField{}, który zachowuje prawdziwą wartość w original_value, a AshTypescript.Rpc.ResultProcessor nie obsługuje tego znacznika w normalize_primitive/1, co prowadzi do serializacji oryginalnej wartości. Problem dotyczy wersji od 0.11.0 przed 0.18.0.
- CVE-2026-77950Średnie
Podatność na generowanie komunikatów błędów zawierających wrażliwe informacje w ash_typescript pozwala nieuwierzytelnionemu atakującemu otrzymać nieocenzurowane wewnętrzne dane błędów, wywołując kształt błędu, którego nie obsługuje skonfigurowany handler błędów. Funkcja apply_error_handler/3 w przypadku niepasującego wzorca podnosi wyjątek FunctionClauseError i zwraca oryginalną mapę błędu, zawierającą wrażliwe dane.
- CVE-2026-77856Wysokie
Podatność na nieograniczone przydzielanie zasobów w ash_typescript pozwala nieuwierzytelnionemu atakującemu na wyczerpanie tablicy atomów BEAM i przerwanie działania węzła przez dostarczone przez klienta nazwy pól typowanych struktur. Funkcja resolve_typed_struct_field/2 używa String.to_atom/1 dla nierozpoznanych nazw, co tworzy trwałe atomy, które nigdy nie są usuwane, prowadząc do przekroczenia limitu i awarii. Problem dotyczy wersji od 0.11.0 przed 0.18.0.
- CVE-2026-74837Wysokie
Podatność na nieograniczone przydzielanie zasobów w ash_typescript pozwala nieuwierzytelnionemu atakującemu na wyczerpanie tablicy atomów BEAM i przerwanie działania węzła przez dostarczone przez klienta nazwy pól RPC. Funkcja convert_to_field_atom/2 używa String.to_atom/1 dla nierozpoznanych nazw, tworząc trwałe atomy, które nigdy nie są usuwane, prowadząc do przekroczenia limitu i awarii. Dodatkowo nazwy pól dłuższe niż 255 znaków powodują nieobsłużony błąd SystemLimitError. Problem dotyczy wersji od 0.1.0 przed 0.18.0.
Oryginalny opis (angielski, źródło NVD)
Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_typescript allows an unauthenticated attacker to read internal Elixir terms from an RPC error response by provoking an error the error builder has no dedicated clause for. AshTypescript.Rpc.ErrorBuilder.build_error_response/1 in lib/ash_typescript/rpc/error_builder.ex renders a pipeline error term that matches no specific clause with inspect/1 and places the result in details.error of the client-facing error. Ash exceptions take a separate path in AshTypescript.Rpc.Errors where unhandled cases are redacted behind an errorId, but these fallbacks have no redaction, so whatever the term carries reaches the HTTP or channel response. Two request paths hand it such terms: a struct-typed action argument with an invalid nested value, where cast_map_to_struct/2 in lib/ash_typescript/rpc/input_formatter.ex throws the raw Ash.Type cast error into the builder, and field selection on a generic action that returns a primitive, where format_field_type/1 inspects the full Ash.Info.Manifest.Type struct into vars.returnType. Resource module names in vars.resource are not treated as sensitive and are out of scope. This issue affects ash_typescript: from 0.1.0 before 0.19.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

