{"answers":{"affected":"1 open source package ship an affected version, including apache-airflow-providers-snowflake. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-81930 in the wild and no public exploit code.","fix":"Upgrade apache-airflow-providers-snowflake to 6.18.0 or later.","what":"CVE-2026-81930 is a medium-severity server-side request forgery vulnerability in Apache Airflow Snowflake provider, published on 29 Sep 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-81930 and fix it if it is affected.\n\nWhat it is: CVE-2026-81930 is a medium-severity server-side request forgery vulnerability in Apache Airflow Snowflake provider, published on 29 Sep 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-81930 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- apache-airflow-providers-snowflake (PyPI): affected all versions; fixed in 6.18.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-81930/ (Markdown: https://insights.sbomify.com/CVE-2026-81930/index.md)","id":"CVE-2026-81930","markdown":"https://insights.sbomify.com/CVE-2026-81930/index.md","name":"CVE-2026-81930","record":{"aliases":["GHSA-x776-f7fc-mx6q","PYSEC-2026-4188"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["data_read","account_takeover"],"network_reachable":"yes","non_default_config":false,"product_category":"Airflow Snowflake provider","requires_auth":"low_privilege","summary":"Attackers can redirect SQL API bearer tokens to malicious hosts by manipulating unvalidated connection fields, leading to credential theft.","user_interaction":"not_required","vuln_class":"ssrf"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"apache","cpe":[{"product":"apache-airflow-providers-snowflake","vendor":"apache"}],"cvss":{"score":6.3,"severity":"medium","source":"cisa-adp","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","version":"3.1"},"cwes":[{"id":"CWE-522","name":"Insufficiently Protected Credentials"}],"description":"Apache Airflow's Snowflake provider did not validate the connection's `account` and `region` fields before interpolating them into request URLs. The SQL API endpoint is built as `https://{account}.snowflakecomputing.com/api/v2/statements`, so an `account` value containing `/`, `?` or `#` demotes the intended domain to a path, query or fragment and leaves the attacker in control of the request host.\n\nThe provider sends that request with an `Authorization: Bearer` header carrying a JWT minted from the connection's private key, or the configured OAuth or programmatic access token. A user who can edit the Snowflake connection but cannot read its secrets — Airflow gives connection-configuration users write-only access to stored credentials, and a `private_key_file` lives on the worker rather than in the connection — can therefore cause a valid token for the account to be delivered to a host of their choosing and replay it against the genuine Snowflake endpoint. No Dag-authoring ability is required: the attacker edits the connection and waits for an existing Dag to use it. The same unvalidated value was also used to build the OAuth token-request URL and the Cortex Agent base URL.\n\nAffects deployments where Snowflake connections are editable by users who are not trusted with the connection's credentials. Users are advised to upgrade to `apache-airflow-providers-snowflake` `6.18.0` or later, which rejects `account` and `region` values containing anything other than letters, digits, `.`, `_` and `-` in every URL the provider builds from them.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Apache Airflow Snowflake provider: Unvalidated account field redirects SQL API bearer token off-domain","id":"CVE-2026-81930","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"ssrf","year":"2026"},"n_packages":1,"n_references":2,"next":{"headline":"Unrestricted upload of file with dangerous type in Prospero Flow CRM product photo allows stored cross-site scripting","id":"CVE-2026-81931"},"packages":[{"ecosystem":"PyPI","fixed":["6.18.0"],"introduced":["0"],"last_affected":[],"package":"apache-airflow-providers-snowflake","purl":"pkg:pypi/apache-airflow-providers-snowflake","source":"PYSEC-2026-4188"}],"prev":{"headline":"Cross-site scripting in Ocean Pro Demos","id":"CVE-2026-81929"},"products":["Apache Airflow Snowflake provider"],"published":"2026-09-29","related":[{"cvss_score":9.8,"headline":"Apache Airflow Providers Snowflake: Potential SQL injection in CopyFromExternalStageToSnowflakeOperator","id":"CVE-2025-50213","kev_date_added":null,"published":"2025-06-24"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-09-29","vendors":["Apache Software Foundation"]},"summary":"Attackers can redirect SQL API bearer tokens to malicious hosts by manipulating unvalidated connection fields, leading to credential theft.","url":"https://insights.sbomify.com/CVE-2026-81930/"}