---
id: CVE-2026-68969
title: >-
  Apache Airflow wrote Variable values and Connection `extra` contents to the
  audit log in cleartext when they were submitted through the bulk endpoints
  (`PATCH /api/v2/variables` and `PATCH /api/v2/connections`)
summary: >-
  Apache Airflow wrote Variable values and Connection `extra` contents to the
  audit log in cleartext when they were submitted through the bulk endpoints
  (`PATCH /api/v2/variables` and `PATCH /api/v2/connections`). The audit-log
  masking rec…
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'
cwe:
  - CWE-532
vendor: apache
product: airflow
affected:
  - airflow < 3.3.1
patched:
  - airflow 3.3.1
published: '2026-08-12'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T15:17:42.090'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-68969'
references:
  - url: 'https://github.com/apache/airflow/pull/70890'
    label: security@apache.org
  - url: 'https://lists.apache.org/thread/p3jr90jgp2brto4vwcrx680f3x11y70c'
    label: security@apache.org
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-50204'
    label: security@apache.org
tags:
  - nvd
  - cve.org
  - osv
  - pip
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-08-13T12:11:21.550820Z'
epss: 0.00642
epssPercentile: 0.48516
aliases:
  - PYSEC-2026-3711
  - BIT-airflow-2026-68969
ecosystem: pip
ingestedAt: '2026-08-19T19:22:21.496Z'
---

## Overview

Apache Airflow wrote Variable values and Connection `extra` contents to the audit log in cleartext when they were submitted through the bulk endpoints (`PATCH /api/v2/variables` and `PATCH /api/v2/connections`). The audit-log masking recognised only top-level request fields, and a bulk request nests its entities two levels below, so no masking was applied to them. Any authenticated user with audit-log read access -- who need not hold Variables or Connections read at all -- could recover those secrets verbatim, and the Connection `extra` copy is stored unencrypted in the log while the connection table encrypts it. The Airflow UI's *Import Variables* action posts to this endpoint, so an ordinary operator import wrote every secret in the file to the log. This is a different code path from CVE-2026-50204: that fix shipped in 3.3.0 and covers the single-entity endpoints only, so deployments that upgraded in response to that advisory remain affected and must upgrade again. Users are advised to upgrade to apache-airflow 3.3.1 or later.

## Affected

- `airflow < 3.3.1`

## Remediation

Upgrade past the affected range:

- `airflow 3.3.1`

## Package advisory (CVE-2026-68969)

Affected packages:

- `apache-airflow < 3.3.1`

Patched in:

- `apache-airflow 3.3.1`

Source: https://osv.dev/vulnerability/PYSEC-2026-3711
