CVE-2026-111447
WysokieCVSS 8.1Streszczenie
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.
Ocena ryzyka
Atakujący może modyfikować lub usuwać dane należące do innych użytkowników lub dzierżawców, co prowadzi do naruszenia integralności danych i potencjalnego obejścia autoryzacji.
Rekomendacja
Zaktualizuj Wheels do wersji 4.2.0, która poprawia sprawdzanie przynależności rekordów zagnieżdżonych do rodzica.
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-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-111445Wysokie
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.
- 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 1.1 through 4.1.2 resolves nestedProperties() records by posted primary key without checking that they belong to the parent being saved. A user able to submit a nested form for their own parent can update and reassign another parent's hasMany or hasOne rows, or delete them when allowDelete=true. Nested belongsTo records can also be edited by posting another associated record's key. New child rows with composite primary keys not made up of foreign keys retain posted key values, allowing the request to choose their identity. This is fixed in 4.2.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

