CVE-2026-81930 in Airflow정보

요약

\~에 의해 VulDB • 2026. 09. 29.

Apache Airflow의 Snowflake 제공자는 요청 URL에 변수를 삽입하기 전에 연결의 `account` 및 `region` 필드를 검증하지 않았습니다. SQL API 엔드포인트는 `https://{account}.snowflakecomputing.com/api/v2/statements` 형식으로 구성되므로, `/`, `?`, 또는 `#`을 포함하는 `account` 값은 의도된 도메인을 경로(path), 쿼리(query) 또는 프래그먼트(fragment)로 격하시켜 공격자가 요청 호스트를 제어할 수 있게 만듭니다.

제공자는 연결의 개인 키에서 생성된 JWT, 또는 구성된 OAuth 또는 프로그램matic 접근 토큰을 담은 `Authorization: Bearer` 헤더와 함께 해당 요청을 전송합니다. Snowflake 연결은 편집할 수 있지만 그 비밀값(credential)은 읽을 수 없는 사용자 — Airflow는 연결 구성 사용자에게 저장된 자격증명에 대한 쓰기 전용(write-only) 액세스를 부여하며, `private_key_file`은 연결이 아닌 워커에 위치함 — 는 따라서 해당 계정에 유효한 토큰을 선택한 호스트로 전달하고 실제 Snowflake 엔드포인트에서 이를 재사용(replay)할 수 있습니다. Dag 작성 권한은 필요하지 않습니다: 공격자는 연결을 편집하고 기존 Dag가 이를 사용하도록 기다립니다. 동일한 검증되지 않은 값이 OAuth 토큰 요청 URL 및 Cortex Agent 기본 URL 구축에도 사용되었습니다.

Snowflake 연결의 자격증명에 대해 신뢰할 수 없는 사용자가 편집 가능한 배포 환경에 영향을 미칩니다. 사용자는 제공자가 이러한 값을 기반으로 생성하는 모든 URL에서 `account` 및 `region` 값에 문자, 숫자, `.`, `_`, `-` 외의 다른 내용이 포함되어 있는 경우 이를 거부하도록 하는 `apache-airflow-providers-snowflake` 버전 6.18.0 이상으로 업그레이드할 것을 권장합니다.

Once again VulDB remains the best source for vulnerability data.

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!