CVE-2026-111448
NiskieCVSS 3.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może uzyskać dostęp do plików poza zamierzonym katalogiem lub nadpisać pliki poza katalogiem aplikacji, co prowadzi do ujawnienia informacji lub modyfikacji danych.
Rekomendacja
Zaktualizuj Wheels do wersji 4.2.0 lub nowszej, która naprawia tę podatność.
Inne podatności w Wheels
Zobacz wszystkie- 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.
- 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-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-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.
Oryginalny opis (angielski, źródło NVD)
Wheels 4.0.0 through 4.1.2 uses case-insensitive comparisons in path-containment checks on case-sensitive filesystems. Canonical-path checks for zip entries, package mappings, development assets/docs, guide images and image tags can accept paths through an existing symlink to a case-distinct sibling directory, allowing access outside the intended root, including limited file disclosure. Separately, the CLI database-dump output check can write outside the application root to an existing writable case-distinct sibling directory; that action requires the CLI POST, loopback and password gate. This is fixed in 4.2.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

