GPU VulnDB

Database/Control plane, storage & DevOps

Airflow Google provider: GCS object names with .. segments write outside the destination path

CVSS 8.1CVE-2026-49297Control plane, storage & DevOpscurated

Impact

Both operators join GCS object names returned by the bucket listing API directly onto a destination path with no normalisation or containment check. Someone who can write to the source bucket - a partner upload, an ingest-only service account, a public dataset bucket, typically a different trust principal from the DAG author - can name an object with .. segments and have the DAG run write the blob outside the intended destination: anywhere on the SFTP server for GCSToSFTPOperator, anywhere the worker process can write for GCSTimeSpanFileTransformOperator. On a shared Airflow installation driving dataset ingestion for a GPU fleet, that is arbitrary file overwrite on the worker host, which includes the files Airflow itself executes, so it escalates to code execution in the pipeline's context. Only deployments that ingest from buckets writable by less-trusted principals are affected. Fixed in apache-airflow-providers-google 22.2.1.

Who can reach it

Anyone with write access to a source GCS bucket that an affected DAG lists; no Airflow account is needed. Exploitation happens when the scheduled DAG next runs.

What to do

Upgrade apache-airflow-providers-google to 22.2.1 or later and restart the schedulers and workers - a daemon restart, no node drain. Until then, review which source buckets are writable by principals outside your trust boundary, and inspect the destination paths and the worker temp directories on hosts that ran these operators against such buckets.

References

Related entries

All Control plane, storage & DevOps entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.