CVE-2026-61654
WysokieCVSS 8.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 32 - wyżej niż 32% wszystkich znanych CVE
Streszczenie
W Lightdash w wersjach do 0.3213.0 webhook dbt Cloud POST /api/v1/projects/{projectUuid}/dbt-cloud/webhook nie ma uwierzytelniania ani walidacji podpisu. Niesanityzowane wartości accountId i runId są wstawiane do adresu URL API dbt Cloud po stronie serwera, a żądanie jest wysyłane z kluczem API ofiary w nagłówku Authorization.
Ocena ryzyka
Path traversal przez accountId pozwala skierować żądanie z poświadczeniami na ścieżkę kontrolowaną przez atakującego na stałym hoście, co może prowadzić do kradzieży klucza API. Nieuwierzytelniony webhook umożliwia także tworzenie podglądów.
Rekomendacja
Zaktualizuj Lightdash do wersji 0.3214.0 lub nowszej. Skonfiguruj sekret HMAC dla webhooków, ponieważ bez niego niepodpisane żądania są nadal przetwarzane.
Inne podatności w Lightdash
Zobacz wszystkie- CVE-2023-35844Wysokie
Wersje Lightdash przed 0.510.3 zawierają niebezpieczne punkty końcowe plików, które umożliwiają atak typu directory traversal oraz nie weryfikują, czy używana jest zamierzona rozszerzenie pliku (.csv lub .png).
- CVE-2026-61576Wysokie
Webhook dbt Cloud w Lightdash (POST /api/v1/projects/{projectUuid}/dbt-cloud/webhook) nie ma uwierzytelniania ani walidacji podpisu. Wartości accountId i runId z żądania są wstawiane do adresu URL API dbt Cloud po stronie serwera, co umożliwia path traversal i wysłanie żądania z kluczem API ofiary.
- CVE-2026-108747Średnie
Lightdash w wersjach do 2.556.0 zawiera podatność obejścia autoryzacji, która pozwala uwierzytelnionym członkom organizacji usuwać osobiste tokeny dostępu innych użytkowników poprzez podanie ich UUID. Atakujący może wysłać żądanie DELETE do trasy personal-access-tokens z UUID tokenu ofiary, nawet między organizacjami, aby go unieważnić i przerwać integracje API.
- CVE-2026-72846Średnie
Lightdash przechowuje adres URL webhooka dostarczony z zaplanowanym dostarczaniem i później wysyła do niego POST z sendWebhook w packages/backend/src/clients/GoogleChat/GoogleChatClient.ts oraz w packages/backend/src/clients/MicrosoftTeams/MicrosoftTeamsClient.ts. W dotkniętych wersjach oba wywołują fetch bezpośrednio na zapisanym adresie URL. Pomocnik validatePublicHttpUrl w packages/backend/src/utils/ssrfProtection.ts, używany dla adresów URL serwera MCP, nie jest stosowany na żadnej ścieżce, a pola webhooka nie mają ograniczeń URL po stronie serwera. Użytkownik mogący utworzyć lub wyzwolić zaplanowane dostarczanie może skierować serwer do wysyłania żądań POST do prywatnych, loopback i link-local adresów, w tym do punktów końcowych metadanych chmury, i może odróżnić dostępne wewnętrzne usługi od niedostępnych poprzez wynikające błędy. Odpowiedź zewnętrzna nigdy nie jest zwracana do żądającego; w przypadku statusu błędu jej treść jest zapisywana w logu serwera. Wersja 1.146.4 kieruje oba klienty przez postSchedulerWebhook z packages/backend/src/utils/schedulerWebhookValidation zamiast bezpośredniego wywołania fetch.
Oryginalny opis (angielski, źródło NVD)
Lightdash is an open source business intelligence platform. In affected versions through 0.3213.0, the dbt Cloud webhook `POST /api/v1/projects/{projectUuid}/dbt-cloud/webhook` has no authentication middleware or signature validation. In `packages/backend/src/controllers/projectController.ts`, `testWebhook()` accepts `accountId` and `runId` from a `job.run.completed` request and passes them to `createPreviewWithExplores()` in `packages/backend/src/services/ProjectService/ProjectService.ts`. These unsanitized values are interpolated into the server-side dbt Cloud API URL, which is requested with the victim project's API key in the `Authorization` header. Path traversal through `accountId` changes the requested path on `cloud.getdbt.com` without changing its host, so the credential-bearing request reaches an attacker-influenced path on that fixed host. The advisory claims API-key theft, but the supplied evidence does not establish that the attacker can observe the `Authorization` header. The unauthenticated webhook also allows preview creation. The target must be a `dbt Cloud IDE` project and the attacker must know its `projectUuid`; the UUID is not enumerable but can be discovered in shared or multi-tenant contexts. Version 0.3214.0 fixes identifier path traversal and verifies webhook HMAC signatures only when a secret is configured; without a secret, unsigned webhooks continue to be processed.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

