W aplikacji Lunary w wersji v1.4.2 odkryto podatność typu SQL injection w endpoint `/api/v1/external-users`, umożliwiającą nieuwierzytelnionemu atakującemu wykonanie dowolnych poleceń SQL. Ze względu na brak wymagania uwierzytelnienia i krytyczny wpływ na dane, podatność stanowi poważne zagrożenie dla wszystkich instalacji opartych na tej wersji.
▸ Pokaż oryginał (EN)
A SQL injection vulnerability exists in the `/api/v1/external-users` route of lunary-ai/lunary version v1.4.2. The `order by` clause of the SQL query uses `sql.unsafe` without prior sanitization, allowing for SQL injection. The `orderByClause` variable is constructed without server-side validation or sanitization, enabling an attacker to execute arbitrary SQL commands. Successful exploitation can lead to complete data loss, modification, or corruption.
Klauzula `ORDER BY` w zapytaniu SQL jest budowana z użyciem `sql.unsafe` bez uprzedniej walidacji ani sanityzacji danych wejściowych po stronie serwera. Zmienna `orderByClause` jest konstruowana bezpośrednio z danych dostarczonych przez użytkownika, co umożliwia wstrzyknięcie złośliwego kodu SQL. Atakujący może zmanipulować parametr sortowania w żądaniu HTTP, aby wykonać dowolne polecenia na bazie danych — bez konieczności posiadania jakiegokolwiek konta czy uprawnień.
Skuteczne wykorzystanie podatności może prowadzić do całkowitej utraty, modyfikacji lub uszkodzenia danych przechowywanych w bazie danych aplikacji. Atakujący może uzyskać nieautoryzowany dostęp do poufnych informacji, a także trwale zniszczyć lub zmodyfikować zasoby danych.
Należy zaktualizować aplikację do wersji zawierającej poprawkę dostępną w repozytorium projektu (commit 6a0bc201181e0f4a0cc375ccf4ef0d7ae65c8a8e). Zaleca się również wprowadzenie walidacji i sanityzacji wszystkich danych wejściowych przekazywanych do zapytań SQL po stronie serwera, w szczególności parametrów klauzuli ORDER BY.
Lunary (lunary-ai/lunary) w wersji v1.4.2
Podatność została zgłoszona za pośrednictwem platformy huntr.com. Poprawka jest dostępna jako konkretny commit w repozytorium GitHub projektu Lunary.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLunary
APPLunary1.4.2
Powiązane podatności
Stored XSS w Lunary — wstrzyknięcie skryptu przez zmienną środowiskową
Brak kontroli dostępu w API BigQuery — eksport całej bazy danych w Lunary
Lunary: brak kontroli dostępu do konfiguracji SAML (nieautoryzowana zmiana)
Błąd autoryzacji w Lunary umożliwiający pełny dostęp do projektów
SSRF w Lunary – nieautoryzowane żądania przez endpoint SAML IdP