CVE-2026-61576
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
8.3
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.
- Record
CVE-2026-61576- CVSS 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 - Weakness
- CWE-22
- Updated
- 2026-11-02
EUVDEUVD-2026-113389
8.3
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.
- Record
EUVD-2026-113389- CVSS 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 - Updated
- 2026-11-02
NVD
8.3
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.
- Record
CVE-2026-61576- CVSS 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 - Weakness
- CWE-22
- Updated
- 2026-11-02
OSV
8.3
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.
- Record
CVE-2026-61576- CVSS 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 - Weakness
- CWE-22
- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-61576 is a high vulnerability (CVSS 8.3) in Lightdash, published October 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.45%, the 39th percentile. No source names a fixed version.
References
github.com/lightdash/lightdash/security/advisories/GHSA-3594-hhm2-76fj
github.com/lightdash/lightdash/pull/24587
github.com/lightdash/lightdash/commit/8d1d9bb6804bbea66a7bdf1b9b00092665382f14
github.com/lightdash/lightdash/releases/tag/0.3214.0
github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61576.json
nvd.nist.gov/vuln/detail/CVE-2026-61576