CVE-2026-61654
Lightdash: Unauthenticated dbt Cloud webhook with path injection leaks API key
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.
Fixes and workarounds
Fix
lightdash/lightdash (other): GitHub reports patched versions 0.3219.1. Check the advisory for the affected release branch.
Source: GitHub GHSA-r4xc-vwqr-3252Affected products and versions
| Product | Versions | Authority |
|---|---|---|
| lightdash lightdash |
< 0.3214.0 (affected) | CNA: GitHub_M |
lightdash/lightdashlightdash/lightdash
other |
<= 0.3219.0 (affected, GitHub advisory range) | GitHub GHSA-r4xc-vwqr-3252 |
Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.
CVSS assessments
| Version / score | Vector | Authority |
|---|---|---|
| 4.0 / 8.3 high |
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N | CNA: GitHub_M |
| 4.0 / 8.3 high |
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X | NVD: [email protected] |
Exploit evidence
- https://github.com/lightdash/lightdash/security/advisories/GHSA-r4xc-vwqr-3252
exploit · ADP: CISA-ADP
References
- https://github.com/lightdash/lightdash/security/advisories/GHSA-r4xc-vwqr-3252CNA: GitHub_M · x_refsource_CONFIRM
- https://github.com/lightdash/lightdash/pull/24587CNA: GitHub_M · x_refsource_MISC
- https://github.com/lightdash/lightdash/commit/8d1d9bb6804bbea66a7bdf1b9b00092665382f14CNA: GitHub_M · x_refsource_MISC
- https://github.com/lightdash/lightdash/releases/tag/0.3214.0CNA: GitHub_M · x_refsource_MISC
- https://github.com/lightdash/lightdash/security/advisories/GHSA-r4xc-vwqr-3252ADP: CISA-ADP · exploit
- https://github.com/lightdash/lightdash/commit/8d1d9bb6804bbea66a7bdf1b9b00092665382f14[email protected]
- https://github.com/lightdash/lightdash/pull/24587[email protected]
- https://github.com/lightdash/lightdash/releases/tag/0.3214.0[email protected]
- https://github.com/lightdash/lightdash/security/advisories/GHSA-r4xc-vwqr-3252[email protected]
- https://github.com/lightdash/lightdash/security/advisories/GHSA-r4xc-vwqr-3252134c704f-9b21-4f2e-91b3-4a467353bcc0
- https://github.com/lightdash/lightdash/security/advisories/GHSA-r4xc-vwqr-3252GitHub Security Advisories · advisory
For agents and automation
Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.
Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.
Endpoints and access details
https://api.y2.dev/api/v2/cyber/cveshttps://api.y2.dev/api/v2/cyber/cves/{cveId}
A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.
For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.