Skip to content
QuenchWorks

airflow

Image · Workflow · standard · v3.3.2

D 17cosign signedSPDX SBOMSLSA provenanceamd64 · arm64Rebuilt 2026-10-22

Apache Airflow, the programmatic workflow orchestration platform for authoring, scheduling, and monitoring DAGs. Built clean-room from source as a Python venv on Wolfi (python-3.12, official constraints), nonroot on a hardened read-only-rootfs base. Ships the 3.2 line (older lines carry unfixed CVEs in Airflow itself). Runs api-server + scheduler + dag-processor + triggerer (and Celery workers) from one image; needs PostgreSQL (and Redis for CeleryExecutor), provided by the chart.

Current digest (deployed by the chart)

sha256:a5b99d7c37bea127050646e12ef788beab60e98801b71cc302844262f16c426c

Signatures, the SBOM, and provenance all attach to this digest. Pin to it for reproducible, tamper-evident pulls.

Signed
cosign keyless
SBOM
SPDX, on digest
Provenance
SLSA build
Architectures
amd64, arm64
Runs as
nonroot (uid 1001)
Root filesystem
read-only
Image size
139.0 MB

Published versions

1 tag

Each tag is a multi-arch index (amd64 + arm64) pinned by digest. Tagged by version, never :latest.

VersionSizePublishedDigest
3.3.2latest139.0 MB2026-10-22sha256:a5b99d7c37be…

Security report (Trivy)

D· 0/10017 fixable · rebuild clears them

Vulnerability detail

airflow 3.3.2 · 17 CVE
CVESeverityPackageInstalledFixed inTitle
CVE-2026-111943HIGHpy3-pip-wheel26.2.2-r026.2.2-r2crypto/x509: golang: crypto/x509: Man-in-the-middle attacks via untrusted intermediate certificates
CVE-2026-111943HIGHpy3.12-grpcio-1.831.83.1-r01.83.1-r6crypto/x509: golang: crypto/x509: Man-in-the-middle attacks via untrusted intermediate certificates
CVE-2026-114605HIGHdnspython2.8.02.9.0dnspython: dnspython: Denial of Service via excessive DNS compression pointer traversal
CVE-2026-114613HIGHpy3-pip-wheel26.2.2-r026.2.2-r1msgpack: msgpack: Denial of Service via memory leak during map deserialization
CVE-2025-12781MEDIUMpython-3.123.12.15-r43.12.16-r2cpython: base64.b64decode() always accepts "+/" characters, despite setting altchars
CVE-2025-12781MEDIUMpython-3.12-base3.12.15-r43.12.16-r2cpython: base64.b64decode() always accepts "+/" characters, despite setting altchars
CVE-2025-15366MEDIUMpython-3.123.12.15-r43.12.16-r2cpython: IMAP command injection in user-controlled commands
CVE-2025-15366MEDIUMpython-3.12-base3.12.15-r43.12.16-r2cpython: IMAP command injection in user-controlled commands
CVE-2025-15367MEDIUMpython-3.123.12.15-r43.12.16-r2cpython: POP3 command injection in user-controlled commands
CVE-2025-15367MEDIUMpython-3.12-base3.12.15-r43.12.16-r2cpython: POP3 command injection in user-controlled commands
CVE-2026-114603MEDIUMopentelemetry-api1.44.01.45.1opentelemetry-api: opentelemetry-api: Denial of Service via regular expression backtracking in header parsing
CVE-2026-12345MEDIUMpython-3.123.12.15-r43.12.16-r0python: python: Arbitrary file deletion via race condition during temporary directory cleanup
CVE-2026-12345MEDIUMpython-3.12-base3.12.15-r43.12.16-r0python: python: Arbitrary file deletion via race condition during temporary directory cleanup
CVE-2026-3446MEDIUMpython-3.123.12.15-r43.12.16-r2python: Python base64: Incomplete data decoding due to premature stop at padding
CVE-2026-3446MEDIUMpython-3.12-base3.12.15-r43.12.16-r2python: Python base64: Incomplete data decoding due to premature stop at padding
CVE-2026-6019MEDIUMpython-3.123.12.15-r43.12.16-r2python: Python: Cross-Site Scripting (XSS) vulnerability in http.cookies module
CVE-2026-6019MEDIUMpython-3.12-base3.12.15-r43.12.16-r2python: Python: Cross-Site Scripting (XSS) vulnerability in http.cookies module
0
Critical
4
High
13
Medium
0
Low
0
Unknown
fixable per nightly scan · peak 2151 of 115 days with any · 2026-06-29 to 2026-10-22

Pull the image

Run it directly with Docker, Podman, or any Kubernetes workload. Nonroot, read-only root filesystem, built for amd64 and arm64.

Pull (tag)

docker pull ghcr.io/quenchworks/images/airflow:3.3.2

Pinned by digest (recommended)

docker pull ghcr.io/quenchworks/images/airflow@sha256:a5b99d7c37bea127050646e12ef788beab60e98801b71cc302844262f16c426c

Tags

3.3.23.3.2-amd643.3.2-arm64

Images are tagged by app version (never :latest): a multi-arch index plus per-arch tags.

App version
3.3.2
Architectures
amd64, arm64
Runs as
nonroot (uid 1001)
Root filesystem
read-only
License
Apache-2.0

Verify the supply chain

This image is cosign-signed and carries an SPDX SBOM and a SLSA build-provenance attestation on the same digest. Check all three yourself:

# 1. signature — built and signed by QuenchWorks CI
cosign verify ghcr.io/quenchworks/images/airflow:3.3.2 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

# 2. SLSA build provenance — which workflow built it, from what
cosign verify-attestation --type https://slsa.dev/provenance/v1 ghcr.io/quenchworks/images/airflow:3.3.2 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

# 3. SPDX SBOM — the package inventory
cosign verify-attestation --type https://spdx.dev/Document/v2.3 ghcr.io/quenchworks/images/airflow:3.3.2 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

See the SBOM & provenance guide for reading the SBOM and using these checks in CI.

Transparency

Every image carries its SBOM and provenance as attestations on the same digest, publicly verifiable with the commands above (they check the package and the Sigstore transparency log, Rekor).

Upstream project: https://airflow.apache.org