CVE-2026-47253
WysokieCVSS 7.3Streszczenie
W Anyquery przed wersją 0.4.5 funkcja SQL clear_plugin_cache(plugin) w namespace/other_functions.go przekazuje kontrolowany przez wywołującego parametr plugin przez path.Join do os.RemoveAll bez odrzucania segmentów przejścia katalogowego. Posiadacz tokenu bearer z niskimi uprawnieniami może wywołać tę funkcję przez endpoint /v1/query, powodując rekursywne usunięcie dowolnego katalogu zapisywalnego przez proces serwera.
Ocena ryzyka
Prowadzi do trwałej utraty danych i odmowy usługi (DoS) bez ujawnienia zawartości plików. Ryzyko jest wysokie na serwerach, gdzie proces Anyquery ma szerokie uprawnienia zapisu.
Rekomendacja
Zaktualizuj Anyquery do wersji 0.4.5 lub nowszej. Ogranicz uprawnienia procesu serwera do niezbędnego minimum i chroń endpoint /v1/query silnym uwierzytelnianiem.
Inne podatności w Anyquery
Zobacz wszystkie- CVE-2026-54629Wysokie
Anyquery przed wersją 0.4.5 udostępnia moduły wirtualnych tabel SQLite (csv_reader, log_reader) przez port serwera MySQL bez uwierzytelnienia, co pozwala zdalnemu atakującemu na odczyt dowolnych plików z systemu.
- CVE-2026-54628Wysokie
Anyquery przed wersją 0.4.5 udostępnia przez nieuwierzytelniony port serwera MySQL kompatybilne z SQLite moduły tabel wirtualnych obsługujące URL-e (json_reader, log_reader) bez ograniczania docelowych adresów wychodzących. Zdalny atakujący może podać adres loopback, sieci prywatnej lub link-local (np. metadane chmury), co powoduje pobranie zasobu przez go-getter i udostępnienie odpowiedzi jako danych tabeli.
- CVE-2026-50006Krytyczne
Anyquery przed wersją 0.4.5 przekazuje nieuwierzytelnione zapytania SQL z portu serwera kompatybilnego z MySQL do SQLite bez ograniczania celów systemu plików ATTACH DATABASE. Zdalny atakujący może wybrać dowolną ścieżkę zapisywalną przez proces serwera Anyquery, spowodować utworzenie tam pliku bazy danych przez SQLite i umieścić w nim kontrolowaną przez siebie treść tabeli. Umożliwia to tworzenie lub nadpisywanie dowolnych plików, powodując utratę integralności systemu plików i odmowę usługi; zdalne wykonanie kodu jest możliwe tylko wtedy, gdy inna usługa interpretuje zapisany plik lub proces ma odpowiednio uprzywilejowany cel zapisu. Luka została naprawiona w wersji 0.4.5.
Oryginalny opis (angielski, źródło NVD)
Anyquery is an SQL query engine built on top of SQLite. Prior to 0.4.5, the clear_plugin_cache(plugin) SQL scalar function in namespace/other_functions.go passes the caller-controlled plugin parameter through path.Join to os.RemoveAll without rejecting traversal segments. A low-privileged bearer-token holder can invoke the function through the /v1/query HTTP endpoint, causing path.Join to resolve .. segments outside $XDG_CACHE_HOME/anyquery/plugins/ and os.RemoveAll to recursively delete any reachable directory writable by the Anyquery server process. This causes permanent data loss and denial of service without disclosing file contents. This issue is fixed in version 0.4.5.

