CVE-2026-29080
WysokieStreszczenie
Podatność SQL injection w metodzie `FilterEngine.create_sqla_query()` pozwala uwierzytelnionym użytkownikom Rucio na wykonywanie dowolnych zapytań SQL w bazie danych poprzez punkt końcowy wyszukiwania DID. W przypadku wdrożeń Oracle, klucze i wartości filtrów kontrolowane przez atakującego są interpolowane bezpośrednio do `sqlalchemy.text()`, co omija parametryzację.
Ocena ryzyka
Ta podatność może prowadzić do pełnego kompromitowania bazy danych, w tym wykradania tokenów uwierzytelniających, hashy haseł oraz wszystkich identyfikatorów zarządzanych danych. Organizacje powinny być świadome ryzyka związanego z nieautoryzowanym dostępem do wrażliwych informacji.
Rekomendacja
Zaleca się aktualizację do wersji Rucio 35.8.5, 38.5.5, 39.4.2 lub 40.1.1, aby usunąć tę podatność. Dodatkowo, należy wprowadzić odpowiednie zabezpieczenia, aby unikać interpolacji danych kontrolowanych przez użytkowników w zapytaniach SQL.
Powiązane podatności
- CVE-2026-72710Krytyczne
SPIP w wersji przed 4.4.18 zawiera podatność zdalnego wykonania kodu w akcji editer_objet, gdzie parametr arg rozwiązuje nazwy tabel SQL bez egzekwowania listy dozwolonych edytowalnych kolumn. Atakujący z ważnym nonce może wstrzyknąć kontrolowane wiersze do tabeli spip_jobs, a następnie dostarczyć arg=job/0 ze spreparowanymi wartościami fonction i args, które są deserializowane i wykonywane podczas opróżniania kolejki zadań cron.
- CVE-2026-72709Krytyczne
SPIP w wersji przed 4.4.18 zawiera podatność braku autoryzacji w punktach końcowych akcji administracyjnych w ecrire/action/, która pozwala nieuwierzytelnionym atakującym na wykonywanie uprzywilejowanych akcji poprzez dostarczenie ważnego nonce HMAC-SHA256 bez żadnej weryfikacji uprawnień po stronie serwera przez autoriser(). Atakujący może uzyskać ważny nonce, obliczyć go dla dowolnej akcji jako użytkownik anonimowy i wywołać akcję editer_auteur bezpośrednio przez HTTP, aby zresetować hasło dowolnego konta użytkownika, w tym administratora.
- CVE-2026-54047Krytyczne
Laci Synchroni to zdecentralizowany serwer synchronizacji modów i wyglądu oraz wtyczka dla Dalamud. Wersje backendu przed 1.2.3 mają podatność nieprawidłowego uwierzytelniania w przepływie logowania OAuth2, polegającą na zaufaniu polu UID w obiekcie Authentications w lokalnym pliku config.json użytkownika. Poprzez ręczną edycję tego pliku przed logowaniem użytkownik może podać dowolny UID, a ponieważ serwer nie weryfikuje, czy uwierzytelniona tożsamość OAuth2 odpowiada żądanemu UID, atakujący może podszyć się pod dowolnego użytkownika i wykonywać działania w jego imieniu.
- CVE-2026-3869Krytyczne
Podatność CWE-303: Nieprawidłowa implementacja algorytmu uwierzytelniania może spowodować utratę poufności, integralności i dostępności PLC, jeśli na PLC działa projekt aplikacji o niższym poziomie aplikacji.
- CVE-2026-89010Krytyczne
Routery WAVLINK WN535M1 i WN535M3 z firmware przed M35M1_V250922 zawierają nieuwierzytelnioną podatność wstrzykiwania poleceń OS, która pozwala zdalnym atakującym na wykonanie dowolnych poleceń jako root poprzez wysyłanie spreparowanych nazw plików do demona sync_server na porcie TCP 13136. Demon wstawia kontrolowane przez atakującego nazwy plików zawierające metaznaki powłoki do ciągu polecenia powłoki za pomocą sprintf() i przekazuje je do system() bez sanityzacji, umożliwiając wykonanie poleceń na poziomie roota.
- CVE-2026-89009Krytyczne
Routery WAVLINK WN535M1 i WN535M3 z firmware przed M35M1_V250922 zawierają nieuwierzytelnioną podatność dowolnego zapisu plików, która pozwala zdalnym atakującym na nadpisanie dowolnego pliku na urządzeniu poprzez wysłanie spreparowanego ładunku do demona sync_server na porcie TCP 13136. Demon działający jako root i nie wymagający uwierzytelniania akceptuje 100-bajtowe pole nazwy pliku w nagłówku protokołu bez kanonizacji ścieżki, co pozwala atakującym podać ścieżkę absolutną i zapisać dowolną treść w celu nadpisania skryptów startowych lub magazynów poświadczeń, aby osiągnąć trwałe przejęcie systemu.
- CVE-2026-87988Krytyczne
Podatność dowolnego dostępu do plików w Mistral Vibe pozwala atakującemu obejść ograniczenia obszaru roboczego poprzez polecenia klasyfikowane jako bezwarunkowo dozwolone. Brak walidacji ścieżek dla tych poleceń umożliwia dostęp do plików poza aktywnym obszarem roboczym bez zgody użytkownika.
- CVE-2026-87987Krytyczne
Podatność dowolnego wykonania kodu w Mistral Vibe pozwala atakującemu obejść kontrole uprawnień poleceń poprzez przypisania zmiennych środowiskowych poprzedzające dozwolone polecenia. Te przypisania są wyłączone z inspekcji, co umożliwia kontrolowanym przez atakującego zmiennym środowiskowym spowodowanie dowolnego wykonania kodu bez zgody użytkownika.
- CVE-2026-87986Krytyczne
Podatność dowolnego wykonania kodu w Mistral Vibe pozwala atakującemu obejść kontrole uprawnień poleceń za pomocą konstrukcji powłoki, których parser nie potrafi zinterpretować. Nieprzetworzone fragmenty są pomijane podczas inspekcji, co umożliwia wykonanie osadzonych poleceń w systemie użytkownika bez zgody.
- CVE-2026-87985Krytyczne
Podatność dowolnego wykonania kodu w Mistral Vibe pozwala atakującemu obejść kontrole uprawnień poleceń za pomocą argumentów w cudzysłowach ANSI-C. Te argumenty nie są prawidłowo sprawdzane, co umożliwia spreparowanemu dozwolonemu poleceniu wykonanie dowolnego kodu w systemie użytkownika bez zgody.
Oryginalny opis (angielski, źródło NVD)
A SQL injection vulnerability in `FilterEngine.create_sqla_query()` allows any authenticated Rucio user to execute arbitrary SQL against the backend database through the DID search endpoint (`GET /dids/<scope>/dids/search`). On Oracle deployments attacker-controlled filter keys and values are interpolated directly into `sqlalchemy.text()` via Python `.format()`, completely bypassing parameterization. This enables full database compromise including extraction of authentication tokens, password hashes, and all managed data identifiers. This affects versions 1.27.0 and later before 35.8.5, 38.5.5, 39.4.2, and 40.1.1. The vulnerability exists in `lib/rucio/core/did_meta_plugins/filter_engine.py` within the `create_sqla_query()` method. When the database dialect is Oracle, filter expressions for JSON metadata columns are constructed using `text()` with Python string formatting. Both `key` and `value` are attacker-controlled strings derived from HTTP query parameters. The `text()` function

