CVE-2026-111445
WysokieCVSS 8.1Streszczenie
Wheels w wersjach 4.0.0–4.1.2 przed 4.2.0 zastępuje warunki zakresu przychodzącego warunkiem klucza głównego w findByKey() i exists(key=). W przypadku exists(key=) w środowisku produkcyjnym z wyłączonymi informacjami o błędach zwracane jest true dla klucza spoza zakresu zamiast zgłoszenia wyjątku.
Ocena ryzyka
Aplikacje polegające na zakresach do autoryzacji własności lub dzierżawy mogą ładować, a następnie modyfikować lub usuwać rekordy innego użytkownika lub dzierżawcy, gdy klucz pochodzi z żądania.
Rekomendacja
Zaktualizuj Wheels do wersji 4.2.0, która łączy warunki klucza z warunkami zakresu, query-buildera lub where w findByKey(), exists(key=), updateByKey() i deleteByKey().
Inne podatności w Wheels
Zobacz wszystkie- CVE-2026-111450Średnie
Wheels w wersjach do 4.1.1 włącznie wyznacza domyślny adres e-mail do zgłaszania błędów produkcyjnych na podstawie nagłówka Host żądania, które uruchamia aplikację. Jeśli nie skonfigurowano jawnego odbiorcy, atakujący może wywołać zimny start i przekierować późniejsze e-maile z błędami na swój adres, ujawniając metadane błędów i żądań, a w niektórych przypadkach także sekrety konfiguracji i dane sesji innych użytkowników. Poprawka została wydana w wersji 4.1.2.
- CVE-2026-111449Średnie
Wheels w wersjach od 3.0.0 do 4.1.1 może ujawnić szczegółowe wyjątki, gdy allowIPBasedDebugAccess=true (domyślnie wyłączone). Żądanie dozwolonego administratora zmienia ustawienia wyświetlania błędów w współdzielonym zakresie aplikacji, a jeśli nakłada się na żądanie nieautoryzowanego klienta, który wywoła błąd, klient ten może otrzymać pełne szczegóły wyjątku, w tym kontekst tagu lub serializowany wyjątek oraz zawarte w nich dane wrażliwe. Poprawka została wydana w wersji 4.1.2.
- CVE-2026-111448Niskie
Wheels w wersjach od 4.0.0 do 4.1.2 używa porównań bez rozróżniania wielkości liter w sprawdzaniu zawierania ścieżek na systemach plików wrażliwych na wielkość liter. Sprawdzenia ścieżek kanonicznych dla wpisów ZIP, mapowań pakietów, zasobów deweloperskich, obrazów i tagów obrazów mogą zaakceptować ścieżki przez istniejące dowiązanie symboliczne do katalogu różniącego się wielkością liter, umożliwiając dostęp poza zamierzonym katalogiem głównym, w tym ograniczone ujawnienie plików. Dodatkowo sprawdzenie wyjścia zrzutu bazy danych CLI może zapisywać poza katalogiem aplikacji do istniejącego zapisywalnego katalogu sąsiedniego różniącego się wielkością liter; wymaga to bramki CLI POST, loopback i hasła. Naprawiono w 4.2.0.
- CVE-2026-111447Wysokie
Wheels w wersjach 1.1–4.1.2 rozwiązuje rekordy nestedProperties() na podstawie przesłanego klucza głównego bez sprawdzenia, czy należą do zapisywanego rodzica. Użytkownik może zaktualizować, przepisać lub usunąć rekordy hasMany/hasOne innego rodzica, a także edytować rekordy belongsTo, podając klucz innego powiązanego rekordu.
- CVE-2026-111446Wysokie
Wheels w wersjach 4.0.0–4.1.2 udostępnia narzędzia deweloperskie bez hasła pod /wheels/* zdalnym klientom, gdy enablePublicComponent=true (domyślnie w środowisku deweloperskim). W wersji 4.1.2 ograniczenie lokalnego dostępu opiera się na nagłówkach dostarczanych przez klienta bez weryfikacji peera.
- CVE-2026-111443Średnie
Wheels w wersjach od 4.0.6 do 4.1.2 pozwala nieuwierzytelnionemu klientowi przełączyć żądanie w kontekst aplikacji testowej, nawet w środowisku produkcyjnym, poprzez nagłówek X-Wheels-Test-Context, cookie WHEELS_TEST_CONTEXT lub ścieżkę test-runnera w URL. Aplikacja alternatywna używa tej samej konfiguracji, środowiska, źródła danych i ustawień debugowania; nie jest to obejście uwierzytelniania ani eskalacja uprawnień, ale może obejść tryb konserwacji, zapewnić dodatkowe liczniki limitów i wywołać dodatkowe efekty uboczne. Poprawka została wydana w wersji 4.2.0.
- CVE-2026-111444Krytyczne
Wheels do wersji 4.1.2 pozwala na wstrzyknięcie SQL na MySQL/MariaDB z włączonym escapowaniem backslashy (brak NO_BACKSLASH_ESCAPES), gdy aplikacja przekazuje dane żądania do ścieżek inline-literal. Dotyczy to zapytań z parameterize=false, list IN oraz miejsc w where, które parser nie binduje, takich jak granice BETWEEN, argumenty funkcji i literały LIKE ESCAPE.
- CVE-2026-110911Krytyczne
Wheels w wersjach od 1.1.8 do 4.1.1 pozwala na wstrzyknięcie SQL, gdy wartości w cudzysłowach dostarczone przez wywołującego są ponownie parsowane jako SQL przez dynamiczne findery (takie jak findOneByEmail), metody where(property, value) i where(property, operator, value) buildera zapytań, ścieżki wyszukiwania po kluczu string/UUID (findByKey, updateByKey, deleteByKey i findOrCreateBy...) oraz validatesUniquenessOf. Parser błędnie traktuje podwojony apostrof jako koniec literału. Aplikacje przekazujące dane żądania do tych API mogą narazić uwierzytelnianie, resetowanie hasła lub wyszukiwanie tokenów oraz dane na nieautoryzowany dostęp; wartości kolumn numerycznych nie są dotknięte.
Oryginalny opis (angielski, źródło NVD)
Wheels 4.0.0 through 4.1.2 before 4.2.0 replaces incoming scope conditions with a primary-key condition in findByKey() and exists(key=). For exists(key=), production with error information disabled returns true for an out-of-scope key instead of throwing. Applications relying on scopes for ownership or tenant authorization can therefore load and subsequently modify or delete another user's or tenant's record when the key comes from a request. The 4.2.0 fix combines key conditions with incoming scope, query-builder or where conditions in findByKey(), exists(key=), updateByKey() and deleteByKey(). Other scope-aware finders, aggregates, updateAll() and deleteAll() are not affected.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

