Skip to main content

Lightdash EUVDEUVD-2026-113396

| CVE-2026-61654 HIGH
SQL Injection (CWE-89)
2026-10-29 GitHub_M
8.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Discover target projectUuid in shared/multi-tenant context
  2. Delivery
    Send unauthenticated dbt-cloud webhook (job.run.completed)
  3. Exploit
    Inject path traversal via accountId
  4. Execution
    Redirect credential-bearing request to attacker path on cloud.getdbt.com
  5. Impact
    Trigger unauthorized preview creation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires that the Lightdash project be configured as a 'dbt Cloud IDE' project and that the attacker know its projectUuid, which is not enumerable but can be obtained in shared or multi-tenant contexts. No authentication is required (PR:N): in affected versions through 0.3213.0 the dbt Cloud webhook endpoint has no auth middleware and no signature validation, so a crafted job.run.completed POST is accepted outright. Limiting factors: knowledge of the non-enumerable UUID, the dbt-Cloud-IDE project-type requirement, and that even after 0.3214.0 HMAC signatures are verified ONLY when a webhook secret is configured - without a secret, unsigned webhooks continue to be processed.

Impact

Signals are mixed and point to a real but conditional issue rather than a mass-exploitation emergency. The CVSS 4.0 base score of 8.3 (AV:N/AC:L/AT:P/PR:N/UI:N) reflects an unauthenticated, network-reachable webhook (POST /api/v1/projects/{projectUuid}/dbt-cloud/webhook) with no auth middleware or signature validation, which is genuinely attractive. However, AT:P and the description both encode a real limiter: the target must be a 'dbt Cloud IDE' project and the attacker must know the project's projectUuid, which is not enumerable (only discoverable in shared/multi-tenant contexts). The vuln.today decision label is 'this_week', not act_now/emergency. No CISA KEV entry and no EPSS score are provided, so there is no evidence of active exploitation or a quantified exploitation probability. A detailed public PoC reference exists in the attached advisory, but it describes a SQL-injection vector (see confidence_notes), not the webhook path-traversal flaw this CVE text and the PR fix actually address; it is not verified as working exploit code for this flaw. CONFLICT: the input CVSS 4.0 assigns VC:H (high confidentiality impact tied to API-key theft), yet the description explicitly states the supplied evidence does NOT establish that the attacker can observe the Authorization header - so the headline confidentiality impact is unproven and may be overstated. Net: a legitimate 'patch this week' issue, most dangerous in shared/multi-tenant Lightdash deployments, but not a confirmed-exploited, internet-wide crisis.

Exploit ScenarioDerived

In a shared or multi-tenant Lightdash deployment, an attacker who has learned a dbt Cloud IDE project's projectUuid sends an unauthenticated job.run.completed webhook whose accountId contains path-traversal sequences. Lightdash interpolates the unsanitized value into the server-side dbt Cloud API URL and issues the request with the victim project's API key in the Authorization header to an attacker-influenced path on the fixed host cloud.getdbt.com, and can also trigger unauthorized preview creation. A public PoC reference exists in the advisory, though it demonstrates a separate SQL-injection vector rather than this webhook flaw.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 29, 2026

Lightdash versions through 0.3213.0 expose the dbt Cloud webhook endpoint (POST /api/v1/projects/{projectUuid}/dbt-cloud/webhook) without authentication middleware or signature validation, so unauthenticated remote requests are accepted outright; an attacker who knows a project's UUID and whose target is configured as a dbt Cloud IDE project can inject path-traversal sequences into the accountId value, which is interpolated into the server-side dbt Cloud API URL that is then requested with the victim project's API key in the Authorization header, and can also force creation of preview environments. The vendor advisory frames the outcome as dbt Cloud API-key theft, but the supplied evidence does not establish that an attacker can observe the Authorization header of the outbound request, so confidentiality impact is assessed as limited while integrity impact comes from unauthorized preview creation. Version 0.3214.0 adds numeric validation of accountId/runId and HMAC verification of webhook signatures, but signatures are checked only when a webhook secret is configured - deployments without a secret continue to process unsigned webhooks. No public exploit identified at time of analysis.

RemediationAI

Upgrade Lightdash to 0.3214.0 or later, which validates accountId and runId as positive integers, captures the raw webhook body, and verifies the dbt Cloud HMAC signature (release notes at https://github.com/lightdash/lightdash/releases/tag/0.3214.0, fix in https://github.com/lightdash/lightdash/pull/24587); because deployments below 0.3219.1 are also exposed to the separate attribute-substitution SQL injection, upgrading to 0.3219.1 or later is preferable where feasible. Crucially, 0.3214.0 verifies signatures only when a webhook secret is configured - set the dbt Cloud webhook secret for every dbt Cloud IDE project, otherwise unsigned job.run.completed payloads are still processed. As a compensating control, restrict inbound access to /api/v1/projects/*/dbt-cloud/webhook at the reverse proxy or load balancer to dbt Cloud's published egress ranges; the trade-off is that legitimate webhook deliveries break if those ranges change or if the deployment relies on user-supplied proxies. Rotate the dbt Cloud API key for any project whose webhook endpoint was reachable from untrusted networks, and audit recent preview environments for creations not initiated by dbt Cloud runs, since the unauthenticated endpoint also permits preview creation. There is no way to disable the endpoint's unauthenticated behaviour short of patching, so exposure reduction depends on network filtering or upgrading.

Affected VersionsENISA

Lightdash < 0.3214.0

Affected Packages

euvd lightdash fix: 0.3214.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Lightdash is a Node/Express business-intelligence backend (packages/backend). In affected releases the dbt Cloud webhook handler in packages/backend/src/controllers/projectController.ts (testWebhook()) trusts the JSON body of a job.run.completed event, reading accountId and runId and passing them to createPreviewWithExplores() in packages/backend/src/services/ProjectService/ProjectService.ts, which interpolates the unsanitized values into a server-side dbt Cloud API URL on the fixed host cloud.getdbt.com and issues that request with the victim project's API key in the Authorization header. Because only the path component is attacker-influenced and the host is fixed, the primitive is path traversal on a trusted destination rather than free-form SSRF; whether the response - and therefore the credential-bearing request's behaviour - is observable to the attacker is not established by the available sources. The CVE record carries CWE-89, which does not match the described mechanism; the weakness is better characterised as missing authentication on a webhook endpoint (CWE-306) combined with path traversal / unsafe interpolation of identifiers (CWE-22). Fix PR 24587 captures the raw request body via an express.json verify hook in App.ts, enforces /^\d+$/ on accountId and runId (throwing ParameterError otherwise), and routes processing through createPreviewFromDbtCloudWebhook() with HMAC verification that rejects invalid signatures with ForbiddenError while logging other failures. Note that the GitHub advisory referenced in the CVE record (GHSA-r4xc-vwqr-3252) actually documents a separate Lightdash flaw - unescaped substitution of user-attribute and embed-JWT intrinsic values into compiled warehouse SQL, causing row-level-security bypass and cross-tenant exfiltration - patched in 0.3219.1; that is a distinct issue from the webhook defect fixed in 0.3214.0, and operators running anything below 0.3219.1 are exposed to both.

Know when Lightdash gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 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
vuln.today AI 4.8 MEDIUM

Unauthenticated network webhook (PR:N) but needs a non-enumerable projectUuid and a dbt Cloud IDE project (AC:H); confidentiality only Low since evidence does not establish Authorization-header/API-key theft.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 29, 2026 - 22:03 EUVD
CVE Published
Oct 29, 2026 - 21:19 cve.org
HIGH 8.3

DescriptionCVE.org

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.

Technical POC Analysis

Correction to the brief: the supplied evidence (GHSA-r4xc-vwqr-3252) describes CVE-2026-61654 as a CWE-89 SQL injection in Lightdash's query compiler, not a dbt Cloud webhook path traversal.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-61654 in Lightdash (through 0.3213.0) exposes an unauthenticated webhook endpoint that allows attackers who know a project UUID to trigger server-side requests with the project's dbt Cloud API key and create unauthorized preview environments. This threatens the integrity of your analytics environment and could disrupt business intelligence operations, though data confidentiality is assessed as limited because header theft is not established. Leadership should prioritize patching and reducing exposure of project UUIDs.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include restricting access to the webhook endpoint via network controls, implementing input validation or WAF rules to block path traversal in accountId, and monitoring for unauthorized preview environment creation.

Threat Intelligence Overview

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Low
niche self-hosted open-source BI platform, limited enterprise footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy