GHSA-w623-968q-qp55
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-trust Airflow user with DAG-trigger rights
-
DeliveryTrigger compute-cluster example DAG
-
ExploitInject SQL fragments and target connection-id via free-text Params
-
ExecutionParams templated into Teradata DDL
-
ImpactArbitrary SQL executes under selected connection
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 | Exploitation requires that the deployment actually runs the Apache Airflow Teradata provider's compute-cluster example DAG, or a DAG copied from it - the provider's shipped operator code is NOT vulnerable, so default installs that never deployed this example are unaffected. The attacker must be an Airflow user granted permission to TRIGGER that specific DAG (a lower-trust role than the DAG author) but needs no Teradata credentials of their own. Limiting factors: the example DAG must be present and unmodified (non-default for most deployments), and note that upgrading to 3.7.0 does NOT retroactively fix an already-copied DAG - operators who copied the example must manually apply the same Param constraints. |
| Impact | No CVSS vector, EPSS, KEV entry, or public POC is provided in any source, so quantitative exploitation signals are absent; the only severity signal is the vendor/reporter 'low' rating. The real-world risk is narrow but non-trivial where it applies: the flaw is a genuine SQL injection allowing arbitrary SQL/DDL execution and connection redirection, but it is gated behind a very specific precondition - the deployment must actually run the Teradata provider's compute-cluster EXAMPLE DAG (or a copy of it). Example DAGs are typically demonstration material, not production workloads, which sharply limits exposure. There is a tension worth flagging: the impact (arbitrary SQL under an existing Teradata connection, plus the ability to hijack any other connection in the deployment) is technically serious, yet the vendor rates it 'low' because the affected code is only example material and the trigger role must already be an authenticated Airflow user. Treat this as a low-urgency, config/hygiene issue for the general population, but as a real privilege-boundary bug (lower-trust DAG-trigger role escalating to arbitrary SQL) for any shop that deployed the example unmodified. No independent CVSS vector was published, so severity cannot be corroborated beyond the reporter's judgment. |
| Exploit ScenarioDerived | An Airflow user who holds only the permission to trigger the Teradata compute-cluster example DAG - a lower-trust role that needs no Teradata credentials of its own - supplies malicious values in the free-text DAG Params at trigger time. Those params are templated directly into Teradata DDL, so the attacker's SQL fragments execute under the task's connection, and by setting the free-text connection-id param they can redirect the task at any other connection defined in the deployment. No public exploit code is identified, but the technique is straightforward for anyone with trigger access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 29, 2026
SQL injection in the Apache Airflow Teradata provider's compute-cluster example DAG lets an authenticated Airflow user who holds only permission to trigger that DAG - a lower-trust role needing no Teradata credentials of its own - inject SQL fragments through unvalidated DAG Params that are templated directly into Teradata DDL, executing under whatever connection the task runs as and, because the connection id was itself a free-text Param, redirecting the task to any other connection defined in the deployment. Only deployments that actually run the shipped example DAG or a DAG copied from it are exposed; the provider's operator code is unchanged, and versions before 3.7.0 are affected. No KEV entry, EPSS score, or public exploit code was identified at time of analysis, and the vendor/reporter rating is 'low', though the assessed vector (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H) reflects high confidentiality, integrity, and availability impact when the preconditions are met.
RemediationAI
Upgrade to apache-airflow-providers-teradata 3.7.0 or later (vendor-released patch: 3.7.0), whose example DAG constrains Params to validated identifiers and a closed value set and removes connection selection and free-form option strings from trigger-time input. Critically, the upgrade does not modify a DAG already copied from the example - operators who copied it must apply the same Param constraints to their copy manually, otherwise the exposure persists. Compensating controls if upgrading or editing immediately is not possible: disable or delete the compute-cluster example DAG if it is not needed (trade-off: loses demo/template functionality but removes the attack surface entirely); restrict Airflow RBAC so only trusted roles can trigger that DAG (trade-off: may block legitimate operators and requires role review); and reduce blast radius on the Teradata side by removing unused Airflow connections and granting the connections the DAG may use least-privilege credentials, since a triggering user can redirect the task to any defined connection. Audit DAG trigger events and Teradata DDL executed through Airflow connections for unexpected statements as a detection measure.
Affected VersionsENISA
Affected Packages
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
Apache Airflow DAGs can declare Params - typed, trigger-time inputs supplied by whoever runs the DAG - which authors typically template into task arguments via Jinja. In the Teradata provider's compute-cluster example DAG, every Param was declared as unconstrained free text and interpolated directly into compute-cluster operators that build Teradata DDL statements, so trigger-time input reached SQL without validation or parameter binding. No CWE was assigned in the source data, but the flaw is an instance of the injection class (SQL injection) caused by improper neutralization of user-supplied input. The connection id used by the task was likewise a free-text Param, letting a triggering user point the task at any Airflow connection in the deployment rather than the intended one, which is why the independent assessment scores scope change (S:C). The vulnerable surface is limited to the example DAG shipped with apache-airflow-providers-teradata before 3.7.0 and any DAG copied from it; the provider's operator code itself was not changed by the fix, which merely hardens the example (validated identifiers, closed value set, no connection selection, no free-form option strings). The linked Apache Airflow 3.3.0 release article is a general platform announcement and does not alter this assessment.
Know when Apache Airflow Providers Teradata 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
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
Network-triggerable by an authenticated low-trust user (PR:L); AC:H because it requires the non-default example DAG to be deployed; S:C and C/I/A:H as injected SQL/DDL executes arbitrarily on a separate Teradata database.
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
3Description PRE-NVD
Executive ViewAI
Organizations that run the Apache Airflow Teradata provider's compute-cluster example DAG, or a copied version, face a critical SQL injection risk that can expose, alter, or disrupt Teradata data and connected systems. An authenticated Airflow user with only DAG-trigger permission can redirect execution to other configured connections, creating a path from a low-trust role to high-impact database actions. No public exploit was identified at time of analysis, but no vendor-released patch is identified, so affected deployments require immediate containment and permission tightening.
Remove or disable the shipped compute-cluster example DAG and any copied DAGs; restrict DAG-trigger permissions and Airflow connection access to trusted users; validate or allowlist DAG Params and connection IDs; apply least-privilege Teradata credentials; monitor Teradata and Airflow logs for unauthorized SQL. No vendor-released patch identified at time of analysis.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
EUVD-2026-88697
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB