CVE-2026-61576
WysokieCVSS 8.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 39 - wyżej niż 39% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Nieuwierzytelniony atakujący może wywołać żądania z poświadczeniami projektu ofiary oraz tworzyć podglądy. W środowiskach współdzielonych możliwe jest ujawnienie projectUuid i wykorzystanie podatności.
Rekomendacja
Zaktualizuj Lightdash do wersji 0.3214.0 lub nowszej. Skonfiguruj sekret HMAC dla webhooka, aby wymusić walidację podpisów.
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-61654Wysokie
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.
- 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

