W aplikacji Lunary w wersji v1.4.28 trasa API /bigquery nie implementuje właściwej kontroli dostępu, co pozwala każdemu zalogowanemu użytkownikowi na eksport całej bazy danych do Google BigQuery. Podatność jest szczególnie niebezpieczna, ponieważ eksportowane dane zawierają hashe haseł oraz tajne klucze API.
▸ Pokaż oryginał (EN)
In lunary-ai/lunary version v1.4.28, the /bigquery API route lacks proper access control, allowing any logged-in user to create a Datastream to Google BigQuery and export the entire database. This includes sensitive data such as password hashes and secret API keys. The route is protected by a config check (`config.DATA_WAREHOUSE_EXPORTS_ALLOWED`), but it does not verify the user's access level or implement any access control middleware. This vulnerability can lead to the extraction of sensitive data, disruption of services, credential compromise, and service integrity breaches.
Trasa /bigquery jest chroniona wyłącznie sprawdzeniem konfiguracji (`config.DATA_WAREHOUSE_EXPORTS_ALLOWED`), jednak nie weryfikuje poziomu uprawnień użytkownika ani nie stosuje żadnego middleware kontroli dostępu. W efekcie każdy uwierzytelniony użytkownik — niezależnie od posiadanej roli — może wywołać endpoint i zainicjować Datastream eksportujący pełną zawartość bazy danych do Google BigQuery. Brak mechanizmu autoryzacji (CWE-862) oznacza, że samo posiadanie aktywnej sesji wystarczy do wykonania tej operacji.
Atakujący może wyeksportować całą bazę danych aplikacji, uzyskując dostęp do wrażliwych danych takich jak hashe haseł i tajne klucze API, co prowadzi do kompromitacji poświadczeń, naruszenia integralności usługi oraz potencjalnego zakłócenia jej działania.
Należy zastosować patch dostępny w repozytorium producenta (commit a8d7b2959e87c30fbafdb12af7ffa093385dcc60) lub zaktualizować aplikację do wersji zawierającej poprawkę zgodnie z referencjami producenta.
Lunary w wersji v1.4.28
Podatność została zgłoszona za pośrednictwem platformy Huntr (program bug bounty). Szczegóły dostępne pod adresem: huntr.com/bounties/e242a92e-da41-440d-b718-3de91e4b4eac.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLunary
APPLunary1.4.28
Powiązane podatności
Stored XSS w Lunary — wstrzyknięcie skryptu przez zmienną środowiskową
SQL Injection w trasie /api/v1/external-users aplikacji 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