CVE-2026-54176
ŚrednieCVSS 6.5Streszczenie
W backpack/crud od wersji 6.0.0 do 6.8.14 oraz 7.0.38 endpoint MyAccountController::postAccountInfoForm pod POST /admin/edit-account-info pozwala AccountInfoRequest na aktualizację backpack_authentication_column() (domyślnie email) bez wymagania current_password ani weryfikacji istniejącego hasła. Atakujący z tymczasową uwierzytelnioną sesją Backpack może zmienić email odzyskiwania konta i później użyć resetu hasła.
Ocena ryzyka
Możliwe jest przekształcenie przejęcia sesji w trwałe przejęcie konta. Ten sam mechanizm pozwala insiderowi ustawić osobisty adres odzyskiwania przed odebraniem dostępu.
Rekomendacja
Zaktualizuj backpack/crud do wersji 6.8.14 lub 7.0.38. Endpoint zmiany hasła nie jest podatny, ponieważ weryfikuje old_password.
Inne podatności w backpack/crud
Zobacz wszystkie- CVE-2026-57570Średnie
backpack/crud od wersji 6.0.0 do 6.8.15 oraz 7.0.47 zawiera podatność w obsłudze relacji HasMany i MorphMany przez attachManyRelation podczas operacji tworzenia i aktualizacji CRUD. Podatność pozwala uwierzytelnionemu administratorowi o niskich uprawnieniach na modyfikację niepowiązanych rekordów dziecięcych, w tym ich ponowne przypisanie, odłączenie, wyzerowanie lub usunięcie, nawet poza granicami właściciela lub dzierżawy. Wymaga to, aby rekordy nie powinny być możliwe do przypisania lub usunięcia przez tego administratora oraz braku dodatkowej autoryzacji na poziomie aplikacji.
- CVE-2026-54182Wysokie
W bibliotece backpack/crud w wersjach przed 4.1.70, 5.6.2, 6.8.13 i 7.0.36 funkcja Backpack\CRUD\Stats::makeCurlRequest buduje polecenie powłoki z adresem URL pochodzącym z nagłówka HTTP Host i przekazuje je do exec() bez odpowiedniej neutralizacji. Nieuwierzytelniony atakujący może wstrzyknąć polecenia systemu operacyjnego, jeśli exec() i curl są dostępne, a losowa bramka 1-na-100 zostanie osiągnięta (powtarzane żądania mogą ją trafić). Udana eksploatacja wykonuje polecenia jako użytkownik serwera WWW.
- CVE-2026-54181Średnie
W backpack/crud od wersji 6.0.0 do 6.8.14 oraz 7.0.38 plik src/resources/views/crud/columns/color.blade.php odwraca gałęzie renderowania escaped i raw kontrolowane przez $column['escaped'], które domyślnie ma wartość true, powodując że $column['text'] jest domyślnie renderowany bez escapowania. Atakujący mogący zapisać nieoczyszczoną wartość w kolumnie koloru może wykonać skrypt w przeglądarce użytkownika przeglądającego listę CRUD, w tym administratora.
- CVE-2026-54180Wysokie
W backpack/crud od wersji 6.0.0 do 6.8.14 i 7.0.38 operacje Update, Delete i Reorder pobierają rekordy z niezawężonego zapytania modelu zamiast z zapytania skonfigurowanego przez addClause() lub addBaseClause(). Uwierzytelniony użytkownik znający lub zgadujący klucz główny rekordu poza zakresem może modyfikować, usuwać lub zmieniać kolejność rekordów ukrytych przez zakresy dostępu na poziomie wiersza.
- CVE-2026-54178Wysokie
W backpack/crud przed 6.8.12 i 7.0.35 funkcja HasUploadFields::uploadMultipleFilesToDisk ufa ścieżkom względnym dysku z clear_<attribute>[] i przekazuje je do Storage::disk()->delete bez potwierdzenia, że ścieżki są zapisane w bieżącym rekordzie modelu. Uwierzytelniony użytkownik z dostępem Update do CRUD korzystającego z tego mutatora może usunąć załącznik innego rekordu, współdzielony zasób lub inny plik operacyjny na skonfigurowanym dysku.
- CVE-2026-54177Średnie
W backpack/crud od wersji 6.0.0 do 6.8.14 oraz 7.0.38 metody HasUploadFields uploadFileToDisk i uploadMultipleFilesToDisk używane przez CrudTrait oraz ścieżka withFiles() przez FileNameGenerator nie odrzucają wewnętrznie plików wykonywalnych przez serwer. Uwierzytelniony administrator może osiągnąć zdalne wykonanie kodu, używając pola CRUD z obsługą uploadu bez walidacji mimes: i mimetypes:, gdy publiczny dysk jest dostępny przez sieć.
- CVE-2026-54175Wysokie
W backpack/crud przed 6.8.11 i 7.0.34 funkcja MyAccountController::postAccountInfoForm przekazuje dane żądania z $request->except(['_token']) do modelu użytkownika zamiast ograniczać aktualizacje do pól akceptowanych przez AccountInfoRequest::validationData(). Atakujący z uwierzytelnioną sesją Backpack może masowo przypisać hasło, kolumnę uwierzytelniania lub inne atrybuty fillable.
- CVE-2026-54179Średnie
backpack/crud to pakiet Laravel do tworzenia paneli administracyjnych. Od wersji 6.0.0 do 6.8.14 i 7.0.37, metody SingleBase64Image::uploadFiles i uploadRepeatableFiles akceptują dowolne data URI zaczynające się od data:image bez walidacji typu MIME lub zawartości. Uwierzytelniony administrator może przechowywać dowolne pliki pod nazwą bez rozszerzenia, co może prowadzić do przechowywanego XSS lub innych niepożądanych zachowań.
- CVE-2022-31114Średnie
Podatność na skrypty między witrynami (XSS) w bibliotece backpack/crud dla Laravel. Atakujący może przeprowadzić ukierunkowaną kampanię phishingową, aby nakłonić użytkowników lub administratorów do kliknięcia złośliwego linku, co w bardzo specyficznych okolicznościach może prowadzić do ujawnienia informacji lub uzyskania dostępu administracyjnego.
Oryginalny opis (angielski, źródło NVD)
backpack/crud provides Create, Read, Update & Delete (CRUD) functions for Backpack, a collection of Laravel packages that help users build custom administration panels. From 6.0.0 until 6.8.14 and 7.0.38, MyAccountController::postAccountInfoForm at POST /admin/edit-account-info permits AccountInfoRequest to update backpack_authentication_column(), which is email by default, without requiring current_password or otherwise verifying the account's existing password. An attacker with a temporary authenticated Backpack session can change the account-recovery email and later use the password-reset flow after the original session expires, converting session compromise into persistent account takeover. The same mechanism permits an insider to set a personal recovery address before access is revoked. The separate password-change endpoint is not affected because it verifies old_password. This issue is fixed in versions 6.8.14 and 7.0.38.

