Apache Airflow Config API exposes team-scoped sensitive configuration values
Apache Airflow's Config API did not mask team-scoped sensitive configuration values in multi-team deployments. When an administrator has enabled multi-team mode and exposed the Config API, an authenticated Viewer holding only configuration-read access — with no prior access to the secret — could read a team-scoped Celery broker URL, including its embedded credentials, in cleartext, while the equivalent global option was correctly masked. The secrets masker matched only base section and option names and did not normalize team-prefixed sections before the sensitivity check (CWE-200). This is a distinct masker bypass from CVE-2026-48828 and CVE-2026-48892: deployments that upgraded to apache-airflow 3.3.0 to address those issues remain affected by this team-scoped variant. Users are advised to upgrade to apache-airflow 3.3.1 or later, which normalizes team-scoped sections before masking.
- Products
- apache-airflow
- Affected versions
- 3.3.0, 3.3.1rc1, 3.3.1rc2
- Fixed versions
- 3.3.1
- CVEs
- CVE-2026-65017
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 18:13 UTC · Revision 2
Source evidence
Apache Airflow Config API exposes team-scoped sensitive configuration values
core-osv · Original sourcePublished 12 Aug 2026, 18:31 UTC
Apache Airflow's Config API did not mask team-scoped sensitive configuration values in multi-team deployments. When an administrator has enabled multi-team mode and exposed the Config API, an authenticated Viewer holding only configuration-read access — with no prior access to the secret — could read a team-scoped Celery broker URL, including its embedded credentials, in cleartext, while the equivalent global option was correctly masked. The secrets masker matched only base section and option names and did not normalize team-prefixed sections before the sensitivity check (CWE-200). This is a distinct masker bypass from CVE-2026-48828 and CVE-2026-48892: deployments that upgraded to apache-airflow 3.3.0 to address those issues remain affected by this team-scoped variant. Users are advised to upgrade to apache-airflow 3.3.1 or later, which normalizes team-scoped sections before masking.
osv:GHSA-c56v-8w4g-3mfm
apache-airflow
Fixed versions: 3.3.1
Complete source record
{
"id": "218e905bd348c51b4069e3102313c37057bd23e18f6a447fff2c1d9be3f8a412",
"url": "https://osv.dev/vulnerability/GHSA-c56v-8w4g-3mfm",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Apache Airflow Config API exposes team-scoped sensitive configuration values",
"summary": "Apache Airflow's Config API did not mask team-scoped sensitive configuration values in multi-team deployments. When an administrator has enabled multi-team mode and exposed the Config API, an authenticated Viewer holding only configuration-read access — with no prior access to the secret — could read a team-scoped Celery broker URL, including its embedded credentials, in cleartext, while the equivalent global option was correctly masked. The secrets masker matched only base section and option names and did not normalize team-prefixed sections before the sensitivity check (CWE-200). This is a distinct masker bypass from CVE-2026-48828 and CVE-2026-48892: deployments that upgraded to apache-airflow 3.3.0 to address those issues remain affected by this team-scoped variant. Users are advised to upgrade to apache-airflow 3.3.1 or later, which normalizes team-scoped sections before masking.",
"evidence": "osv:GHSA-c56v-8w4g-3mfm",
"products": [
{
"name": {
"value": "apache-airflow",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.3.1",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": [
{
"value": "3.3.0",
"evidence": "/affected/0/versions"
},
{
"value": "3.3.1rc1",
"evidence": "/affected/0/versions"
},
{
"value": "3.3.1rc2",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "GHSA-c56v-8w4g-3mfm",
"aliases": [
"BIT-airflow-2026-65017",
"CVE-2026-65017",
"GHSA-c56v-8w4g-3mfm",
"PYSEC-2026-3993"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.3.0"
},
{
"fixed": "3.3.1"
}
]
}
],
"package": {
"name": "apache-airflow",
"purl": "pkg:pypi/apache-airflow",
"ecosystem": "PyPI"
},
"versions": [
"3.3.0",
"3.3.1rc1",
"3.3.1rc2"
],
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-c56v-8w4g-3mfm/GHSA-c56v-8w4g-3mfm.json"
}
}
],
"modified": "2026-10-02T23:40:39.040763910Z",
"provider": "osv",
"references": [
"https://nvd.nist.gov/vuln/detail/CVE-2026-65017",
"https://github.com/apache/airflow/pull/70755",
"https://github.com/apache/airflow/commit/62d37d52bf4df38b6acd3a1e73203508878f36c4",
"https://github.com/apache/airflow/commit/d41ac7b6d213682db3ef4d21bbb33e013dde4af4",
"https://github.com/apache/airflow",
"https://github.com/apache/airflow/releases/tag/3.3.1",
"https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3993.yaml",
"https://lists.apache.org/thread/kykn94kjf0tntx4wywtvjowh5bzdgf38",
"https://www.cve.org/CVERecord?id=CVE-2026-48828",
"https://www.cve.org/CVERecord?id=CVE-2026-48892"
],
"provider_metadata": {
"cwe_ids": [
"CWE-200"
],
"severity": "MODERATE",
"github_reviewed": true,
"nvd_published_at": "2026-08-12T16:17:12Z",
"github_reviewed_at": "2026-10-02T23:13:06Z"
}
},
"related_cves": [
{
"value": "CVE-2026-65017",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 81393,
"published_at": "2026-08-12T18:31:18+00:00"
}Apache Airflow's Config API did not mask team-scoped sensitive configuration values in multi-team deployments. When an administrator has enabled multi-team mode and exposed the Config API, an authenticated Viewer holding only configuration-read access — with no prior access to the secret — could read a team-scoped Celery broker URL, including its embedded credentials, in cleartext, while the equivalent global option was correctly masked. The secrets masker matched only base section and option names and did not normalize team-prefixed sections before the sensitivity check (CWE-200). This is a distinct masker bypass from CVE-2026-48828 and CVE-2026-48892: deployments that upgraded to apache-airflow 3.3.0 to address those issues remain affected by this team-scoped variant. Users are advised to upgrade to apache-airflow 3.3.1 or later, which normalizes team-scoped sections before masking.
osv:PYSEC-2026-3993
apache-airflow
Fixed versions: 3.3.1
Complete source record
{
"id": "753e78ff231e213bec6de5d0c1b6c4743757a1fde173357c002312290278f63e",
"url": "https://osv.dev/vulnerability/PYSEC-2026-3993",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "PYSEC-2026-3993",
"summary": "Apache Airflow's Config API did not mask team-scoped sensitive configuration values in multi-team deployments. When an administrator has enabled multi-team mode and exposed the Config API, an authenticated Viewer holding only configuration-read access — with no prior access to the secret — could read a team-scoped Celery broker URL, including its embedded credentials, in cleartext, while the equivalent global option was correctly masked. The secrets masker matched only base section and option names and did not normalize team-prefixed sections before the sensitivity check (CWE-200). This is a distinct masker bypass from CVE-2026-48828 and CVE-2026-48892: deployments that upgraded to apache-airflow 3.3.0 to address those issues remain affected by this team-scoped variant. Users are advised to upgrade to apache-airflow 3.3.1 or later, which normalizes team-scoped sections before masking.",
"evidence": "osv:PYSEC-2026-3993",
"products": [
{
"name": {
"value": "apache-airflow",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.3.1",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": [
{
"value": "3.3.0",
"evidence": "/affected/0/versions"
},
{
"value": "3.3.1rc1",
"evidence": "/affected/0/versions"
},
{
"value": "3.3.1rc2",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "PYSEC-2026-3993",
"aliases": [
"BIT-airflow-2026-65017",
"CVE-2026-65017",
"GHSA-c56v-8w4g-3mfm",
"PYSEC-2026-3993"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.3.0"
},
{
"fixed": "3.3.1"
}
]
}
],
"package": {
"name": "apache-airflow",
"purl": "pkg:pypi/apache-airflow",
"ecosystem": "PyPI"
},
"versions": [
"3.3.0",
"3.3.1rc1",
"3.3.1rc2"
],
"database_specific": {
"source": "https://github.com/pypa/advisory-database/blob/main/vulns/apache-airflow/PYSEC-2026-3993.yaml"
},
"ecosystem_specific": {}
}
],
"modified": "2026-10-15T14:45:07.366644445Z",
"provider": "osv",
"references": [
"https://www.cve.org/CVERecord?id=CVE-2026-48828",
"https://www.cve.org/CVERecord?id=CVE-2026-48892",
"https://lists.apache.org/thread/kykn94kjf0tntx4wywtvjowh5bzdgf38",
"https://github.com/apache/airflow/pull/70755",
"https://github.com/advisories/GHSA-c56v-8w4g-3mfm"
]
},
"related_cves": [
{
"value": "CVE-2026-65017",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 332641,
"published_at": "2026-08-12T16:17:12.577+00:00"
}