CVE-2026-54175
WysokieCVSS 7.6Streszczenie
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.
Ocena ryzyka
Może przekształcić tymczasowy dostęp sesyjny w trwałe przejęcie konta bez sprawdzenia old_password, a zmiana adresu e-mail uwierzytelniania może umożliwić późniejsze przejęcie przez reset hasła. Dodatkowe atrybuty bezpieczeństwa mogą pozwolić na eskalację uprawnień.
Rekomendacja
Zaktualizuj backpack/crud do wersji 6.8.11 lub 7.0.34 (lub nowszej). Ogranicz aktualizacje do pól zatwierdzonych przez AccountInfoRequest::validationData().
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-54176Średnie
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.
- 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. Prior to 6.8.11 and 7.0.34, MyAccountController::postAccountInfoForm in src/app/Http/Controllers/MyAccountController.php at POST /admin/edit-account-info passes request data from $request->except(['_token']) to the user model instead of restricting updates to fields accepted by AccountInfoRequest::validationData(). An attacker with an authenticated Backpack session can therefore mass-assign password, the authentication column, or other deployment-specific fillable attributes. With the default Laravel 11 user model, a submitted plaintext password is automatically hashed and persisted, converting temporary session access into persistent account takeover without the old_password check enforced by the separate password-change route. Changing the authentication email can also enable later password-reset takeover, while additional fillable security attributes can permit deployment-specific privilege escalation or security-control changes. This issue is fixed in versions 6.8.11 and 7.0.34.

