CVE-2026-84363
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 - wyżej niż 28% wszystkich znanych CVE
Streszczenie
W Hono (framework web dla JavaScript) przed wersją 4.13.5, pomocnicze funkcje zapytań traktują znak zapytania po dosłownym fragmencie hash jako początek ciągu zapytania, więc aplikacja może odczytywać parametry żądania, których przeglądarki, new URL(), reverse proxy, reguły filtrowania, listy dozwolonych i zabronionych parametrów, logowanie dostępu, walidacja żądań i inne oprogramowanie pośredniczące nie obserwują. Middleware Cache usuwa fragment podczas budowania klucza pamięci podręcznej, co pozwala na przechowywanie odpowiedzi pod wpływem parametrów wewnątrz fragmentu pod kluczem, który je pomija, i późniejsze serwowanie innym użytkownikom. Może to ominąć filtrowanie i audyt, zatruć odpowiedzi w pamięci podręcznej i umożliwić trwały cross-site scripting, gdy dotknięty parametr jest odzwierciedlany w buforowanym HTML bez escapowania. Eksploatacja wymaga środowiska wykonawczego i ścieżki pośredniej, która przekazuje dosłowny znak hash do URL-a żądania; Cloudflare Workers i pośrednicy usuwający fragmenty nie są dotknięci. Problem naprawiono w wersji 4.13.5.
Ocena ryzyka
Atakujący może ominąć mechanizmy bezpieczeństwa, zatruć pamięć podręczną i potencjalnie przeprowadzić ataki XSS, co może prowadzić do kradzieży danych, przejęcia sesji lub innych szkodliwych działań.
Rekomendacja
Zaktualizuj Hono do wersji 4.13.5 lub nowszej, a jeśli używasz Cache Middleware, rozważ dodatkowe walidacje parametrów i escapowanie treści.
Inne podatności w Hono
Zobacz wszystkie- CVE-2026-22818Wysokie
Hono to framework webowy dla JavaScript. Przed wersją 4.11.4 middleware weryfikacji JWT JWK/JWKS miał wadę, która pozwalała algorytmowi z nagłówka JWT wpływać na weryfikację podpisu, gdy wybrany JWK nie definiował algorytmu. Może to umożliwić pomylenie algorytmów JWT i, w niektórych konfiguracjach, akceptację sfałszowanych tokenów.
- CVE-2026-22817Wysokie
Hono to framework webowy dla JavaScript. Przed wersją 4.11.4 middleware JWT do weryfikacji JWK/JWKS miał podatność, która pozwalała, aby wartość alg w nagłówku JWT wpływała na weryfikację podpisu, gdy wybrany JWK nie określał jawnie algorytmu. Może to umożliwić pomylenie algorytmu JWT i, w niektórych konfiguracjach, akceptację sfałszowanych tokenów.
- GHSA-frvp-7c67-39w9Średnie
Podatność na path traversal w serve-static na Windows przez zakodowany backslash (%5C) w ścieżce żądania. Na hostach Windows zakodowany backslash (%5C) dekoduje się do \, co powoduje, że ścieżka Windows traktuje go jako separator katalogów.
- CVE-2026-93981Średnie
hono w wersjach przed 4.13.7 nie escapuje znaków HTML w zwykłych łańcuchach renderowanych przez hono/jsx w kilku kontekstach, m.in. jako dziecko lub fallback Suspense, jako dziecko ErrorBoundary z asynchronicznym rodzeństwem, jako jedyne dziecko Context.Provider oraz jako wartość główna przekazywana do renderToString() lub renderToReadableStream(). W tych ścieżkach dane wejściowe są konwertowane na łańcuch i traktowane jako już zescapowany znacznik, co pozwala atakującemu wstrzyknąć dowolny HTML i wykonać skrypt w kontekście domeny aplikacji.
- CVE-2026-84365Średnie
Framework Hono w wersjach od 4.12.12 do 4.13.5 zawiera niepełną poprawkę dla CVE-2026-39408 — funkcja toSSG() może nadal zapisywać pliki poza skonfigurowanym katalogiem wyjściowym, gdy parametr trasy zawiera kolejne segmenty katalogu nadrzędnego. Luka dotyczy wyłącznie generowania statycznej strony w czasie budowania, gdy wartości ssgParams nie są w pełni kontrolowane przez dewelopera.
- CVE-2026-84364Średnie
W Hono (framework web dla JavaScript) przed wersją 4.13.5, gdy parseBody() rozwija nazwy pól formularza rozdzielone kropkami na zagnieżdżone obiekty z włączonym parsowaniem notacji kropkowej, nie ogranicza głębokości zagnieżdżenia ani całkowitej liczby tworzonych obiektów pośrednich. Puste segmenty są zachowywane, więc jedna głęboko kropkowana nazwa pola może zakodować jeden poziom zagnieżdżenia na bajt, podczas gdy duża liczba płytko kropkowanych pól może stworzyć tę samą amplifikację w ramach żądania. Treść żądania w normalnym limicie rozmiaru może zatem przydzielić graf obiektów znacznie większy niż żądanie po jego zaakceptowaniu. Nieuwierzytelniony atakujący, który może dotrzeć do dotkniętego punktu końcowego, może wysyłać równoczesne żądania, które wyczerpują stertę JavaScript, kończą proces serwera i pozostawiają usługę niedostępną do czasu restartu. Parsowanie notacji kropkowej nie jest domyślnie włączone, a aplikacje korzystające z domyślnego zachowania nie są dotknięte. Problem naprawiono w wersji 4.13.5.
- CVE-2026-69207Średnie
Hono przed wersją 4.12.34 ma podatność na ReDoS w wbudowanym middleware CORS (hono/cors). Podczas preflight OPTIONS, middleware parsuje nagłówek Access-Control-Request-Headers za pomocą wyrażenia regularnego, które ma złożoność kwadratową, co może prowadzić do długotrwałego blokowania przetwarzania żądań. Dotyczy to domyślnej konfiguracji, gdy allowHeaders jest puste lub nieustawione.
- CVE-2026-71850Średnie
Podatność w frameworku Hono w wersjach od 3.8.0 do 4.12.33 dotyczy funkcji memo() z hono/jsx, która przechowuje wynik renderowania po stronie serwera i używa go ponownie dla późniejszych renderów z równymi propsami. Wartości zależne od żądania odczytywane wewnątrz komponentu nie są uwzględniane w porównaniu, co może prowadzić do wyświetlenia użytkownikowi HTML wyrenderowanego dla innego żądania. Problem został naprawiony w wersji 4.12.34.
- CVE-2026-71849Niskie
Hono to framework aplikacji webowych wspierający dowolne środowisko JavaScript. Od wersji 4.7.0 do 4.12.33 funkcja proxy() w hono/proxy nie usuwa nagłówków odpowiedzi wskazanych przez nagłówek Connection origin. Zgodnie z RFC 9110, pośrednik musi usunąć te nagłówki przed przekazaniem, ale funkcja usuwa tylko standardowe nagłówki hop-by-hop, co może prowadzić do ujawnienia metadanych wewnętrznych.
- CVE-2026-71848Średnie
Podatność w frameworku Hono w wersjach od 4.12.0 do 4.12.33 dotyczy middleware languageDetector, który jest podatny na atak DoS przez złożoność algorytmiczną podczas przetwarzania spreparowanego tagu języka z dużą liczbą podtagów oddzielonych myślnikami. Funkcja normalizeLanguage() wielokrotnie wywołuje parts.slice(0, i).join('-') dla każdego możliwego prefiksu, co powoduje kwadratowy wzrost przetwarzania. Problem został naprawiony w wersji 4.12.34.
Oryginalny opis (angielski, źródło NVD)
Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.13.5, Hono's query helpers treat a question mark after a literal hash fragment as the start of a query string, so the application can read request parameters that browsers, new URL(), reverse proxies, filtering rules, parameter allow and deny lists, access logging, request validation, and other middleware do not observe. The Cache Middleware removes the fragment when building its cache key, allowing a response influenced by parameters inside the fragment to be stored under a key that omits those parameters and later served to other users. This can bypass filtering and auditing, poison cached responses, and enable stored cross-site scripting when an affected parameter is reflected into cached HTML without escaping. Exploitation requires a runtime and intermediary path that passes a literal hash character through to the request URL; Cloudflare Workers and intermediaries that strip fragments are not affected. This issue is fixed in version 4.13.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

