Description
The Bulk Variables API in Apache Airflow called the redactor without passing the variable's key, so the key-based `should_hide_value_for_key` check (which triggers on secret-suffixed key names like `*_password` / `*_token` / `*_secret`) could not fire for JSON-decodable variable values. An authenticated UI/API user with bulk Variable read permission could retrieve plaintext values from JSON variables whose key would otherwise trigger redaction. Affects deployments that store sensitive values in JSON-typed Airflow Variables under secret-suffixed key names. Users are advised to upgrade to `apache-airflow` 3.3.0 or later (the fix landed on `main` after 3.2.2; no 3.2.x backport).
Published: 2026-07-07
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Bulk Variables API in Apache Airflow incorrectly calls the redactor function without supplying the variable key. This disables the key‑based should_hide_value_for_key check that normally hides secrets whose names end with secret‑suffixes such as *_password, *_token, or *_secret. As a result, an authenticated user with permission to read variables in bulk can retrieve plaintext values stored inside JSON‑typed Airflow Variables that would otherwise be redacted. This is a confidentiality threat described by CWE‑200.

Affected Systems

All Apache Airflow installations that rely on bulk variable operations and store sensitive information in JSON‑type variables with secret‑suffixed keys are vulnerable. The flaw exists in every release up to 3.2.2; the fix is incorporated in the main branch after 3.2.2 and appears in version 3.3.0 and later.

Risk and Exploitability

The CVSS score of 6.5 reflects the impact of credential disclosure, while the EPSS score of less than 1% indicates a very low but non‑zero likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an authenticated Airflow user with bulk variable read permissions, which can be exercised via the web UI or the REST API. The risk remains high for environments that store secrets in JSON variables under secret‑suffix patterns.

Generated by OpenCVE AI on July 26, 2026 at 19:29 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Apache Airflow to version 3.3.0 or later.
  • Re‑evaluate and remove bulk variable read permissions for users who do not need them, and enforce principle of least privilege on the Airflow role model.
  • Rename JSON keys that use secret‑suffixes to avoid triggering the redaction logic, or store such sensitive data in dedicated Airflow Variables instead of embedding them in JSON objects.

Generated by OpenCVE AI on July 26, 2026 at 19:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 08 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 07 Jul 2026 11:45:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache airflow
Vendors & Products Apache
Apache airflow

Tue, 07 Jul 2026 10:15:00 +0000

Type Values Removed Values Added
Description The Bulk Variables API in Apache Airflow called the redactor without passing the variable's key, so the key-based `should_hide_value_for_key` check (which triggers on secret-suffixed key names like `*_password` / `*_token` / `*_secret`) could not fire for JSON-decodable variable values. An authenticated UI/API user with bulk Variable read permission could retrieve plaintext values from JSON variables whose key would otherwise trigger redaction. Affects deployments that store sensitive values in JSON-typed Airflow Variables under secret-suffixed key names. Users are advised to upgrade to `apache-airflow` 3.3.0 or later (the fix landed on `main` after 3.2.2; no 3.2.x backport).
Title Apache Airflow: Bulk JSON Variables bypass should_hide_value_for_key - redact() called without the key
Weaknesses CWE-200
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-07-07T13:47:31.600Z

Reserved: 2026-05-23T13:48:30.828Z

Link: CVE-2026-48828

cve-icon Vulnrichment

Updated: 2026-07-07T12:48:07.495Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-26T19:30:03Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor