{"id":"CVE-2026-45192","aliases":["BIT-airflow-2026-45192","EUVD-2026-33567","GHSA-2883-wwh7-x57v","PYSEC-2026-173"],"status":"published","title":"Apache Airflow: Incomplete Redaction of Sensitive Fields in Connection Extra API Response","description":"A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-08","score":0.00425,"percentile":0.37054,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-200"],"published":"2026-06-01T06:51:41Z","modified":"2026-11-04T02:47:35Z","fixes":[{"ecosystem":"PyPI","package":"apache-airflow","fixed_in":["3.2.2"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"airflow","fixed_in":["3.2.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"apache-airflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"airflow","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.2.2"}]}]},{"source":"osv","ecosystem":"PyPI","package":"apache-airflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2"}]}],"versions":["1.10.0","1.10.1","1.10.10","1.10.10rc1","1.10.10rc2","1.10.10rc3","1.10.10rc4","1.10.10rc5","1.10.11","1.10.11rc1","1.10.11rc2","1.10.12","1.10.12rc1","1.10.12rc2","1.10.12rc3","1.10.12rc4","1.10.13","1.10.13rc1","1.10.14","1.10.14rc1","1.10.14rc2","1.10.14rc3","1.10.14rc4","1.10.15","1.10.15rc1","1.10.1b1","1.10.1rc2","1.10.2","1.10.2b2","1.10.2rc1","1.10.2rc2","1.10.2rc3","1.10.3","1.10.3b1","1.10.3b2","1.10.3rc1","1.10.3rc2","1.10.4","1.10.4b2","1.10.4rc1","1.10.4rc2","1.10.4rc3","1.10.4rc4","1.10.4rc5","1.10.5","1.10.5rc1","1.10.6","1.10.6rc1","1.10.6rc2","1.10.7","1.10.7rc1","1.10.7rc2","1.10.7rc3","1.10.8","1.10.8rc1","1.10.9","1.10.9rc1","1.8.1","1.8.2","1.8.2rc1","1.9.0","2.0.0","2.0.0b1","2.0.0b2","2.0.0b3","2.0.0rc1","2.0.0rc2","2.0.0rc3","2.0.1","2.0.1rc1","2.0.1rc2","2.0.2","2.0.2rc1","2.1.0","2.1.0rc1","2.1.0rc2","2.1.1","2.1.1rc1","2.1.2","2.1.2rc1","2.1.3","2.1.3rc1","2.1.4","2.1.4rc1","2.1.4rc2","2.10.0","2.10.0b1","2.10.0b2","2.10.0rc1","2.10.1","2.10.1rc1","2.10.2","2.10.2rc1","2.10.3","2.10.3rc1","2.10.3rc2","2.10.4","2.10.4rc1","2.10.5","2.10.5rc1","2.11.0","2.11.0rc1","2.11.1","2.11.1rc1","2.11.1rc2","2.11.2","2.11.2rc1","2.2.0","2.2.0b1","2.2.0b2","2.2.0rc1","2.2.1","2.2.1rc1","2.2.1rc2","2.2.2","2.2.2rc1","2.2.2rc2","2.2.3","2.2.3rc1","2.2.3rc2","2.2.4","2.2.4rc1","2.2.5","2.2.5rc1","2.2.5rc2","2.2.5rc3","2.3.0","2.3.0b1","2.3.0rc1","2.3.0rc2","2.3.1","2.3.1rc1","2.3.2","2.3.2rc1","2.3.2rc2","2.3.3","2.3.3rc1","2.3.3rc2","2.3.3rc3","2.3.4","2.3.4rc1","2.4.0","2.4.0b1","2.4.0rc1","2.4.1","2.4.1rc1","2.4.2","2.4.2rc1","2.4.3","2.4.3rc1","2.5.0","2.5.0rc1","2.5.0rc2","2.5.0rc3","2.5.1","2.5.1rc1","2.5.1rc2","2.5.2","2.5.2rc1","2.5.2rc2","2.5.3","2.5.3rc1","2.5.3rc2","2.6.0","2.6.0b1","2.6.0rc1","2.6.0rc2","2.6.0rc3","2.6.0rc4","2.6.0rc5","2.6.1","2.6.1rc1","2.6.1rc2","2.6.1rc3","2.6.2","2.6.2rc1","2.6.2rc2","2.6.3","2.6.3rc1","2.7.0","2.7.0b1","2.7.0rc1","2.7.0rc2","2.7.1","2.7.1rc1","2.7.1rc2","2.7.2","2.7.2rc1","2.7.3","2.7.3rc1","2.8.0","2.8.0b1","2.8.0rc1","2.8.0rc2","2.8.0rc3","2.8.0rc4","2.8.1","2.8.1rc1","2.8.2","2.8.2rc1","2.8.2rc2","2.8.2rc3","2.8.3","2.8.3rc1","2.8.4","2.8.4rc1","2.9.0","2.9.0b1","2.9.0b2","2.9.0rc1","2.9.0rc2","2.9.0rc3","2.9.1","2.9.1rc1","2.9.1rc2","2.9.2","2.9.2rc1","2.9.3","2.9.3rc1","3.0.0","3.0.0b4","3.0.0rc1","3.0.0rc1.post1","3.0.0rc1.post2","3.0.0rc1.post3","3.0.0rc1.post4","3.0.0rc2","3.0.0rc3","3.0.0rc4","3.0.1","3.0.1rc1","3.0.2","3.0.2rc1","3.0.2rc2","3.0.3","3.0.3rc1","3.0.3rc2","3.0.3rc3","3.0.3rc4","3.0.3rc5","3.0.3rc6","3.0.4","3.0.4rc1","3.0.4rc2","3.0.5","3.0.5rc1","3.0.5rc2","3.0.5rc3","3.0.6","3.0.6rc1","3.0.6rc2","3.1.0","3.1.0b1","3.1.0b2","3.1.0rc1","3.1.0rc2","3.1.1","3.1.1rc1","3.1.1rc2","3.1.2","3.1.2rc1","3.1.2rc2","3.1.3","3.1.3rc1","3.1.4","3.1.4rc1","3.1.4rc2","3.1.5","3.1.5rc1","3.1.6","3.1.6rc1","3.1.7","3.1.7rc1","3.1.7rc2","3.1.8","3.1.8rc1","3.1.8rc2","3.2.0","3.2.0b1","3.2.0b2","3.2.0rc1","3.2.0rc2","3.2.1","3.2.1rc1","3.2.1rc2","3.2.1rc3","3.2.2rc1","3.2.2rc2","3.2.2rc3"]},{"source":"osv","ecosystem":"PyPI","package":"apache-airflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2"}]}],"versions":["1.10.0","1.10.1","1.10.10","1.10.10rc1","1.10.10rc2","1.10.10rc3","1.10.10rc4","1.10.10rc5","1.10.11","1.10.11rc1","1.10.11rc2","1.10.12","1.10.12rc1","1.10.12rc2","1.10.12rc3","1.10.12rc4","1.10.13","1.10.13rc1","1.10.14","1.10.14rc1","1.10.14rc2","1.10.14rc3","1.10.14rc4","1.10.15","1.10.15rc1","1.10.1b1","1.10.1rc2","1.10.2","1.10.2b2","1.10.2rc1","1.10.2rc2","1.10.2rc3","1.10.3","1.10.3b1","1.10.3b2","1.10.3rc1","1.10.3rc2","1.10.4","1.10.4b2","1.10.4rc1","1.10.4rc2","1.10.4rc3","1.10.4rc4","1.10.4rc5","1.10.5","1.10.5rc1","1.10.6","1.10.6rc1","1.10.6rc2","1.10.7","1.10.7rc1","1.10.7rc2","1.10.7rc3","1.10.8","1.10.8rc1","1.10.9","1.10.9rc1","1.8.1","1.8.2","1.8.2rc1","1.9.0","2.0.0","2.0.0b1","2.0.0b2","2.0.0b3","2.0.0rc1","2.0.0rc2","2.0.0rc3","2.0.1","2.0.1rc1","2.0.1rc2","2.0.2","2.0.2rc1","2.1.0","2.1.0rc1","2.1.0rc2","2.1.1","2.1.1rc1","2.1.2","2.1.2rc1","2.1.3","2.1.3rc1","2.1.4","2.1.4rc1","2.1.4rc2","2.10.0","2.10.0b1","2.10.0b2","2.10.0rc1","2.10.1","2.10.1rc1","2.10.2","2.10.2rc1","2.10.3","2.10.3rc1","2.10.3rc2","2.10.4","2.10.4rc1","2.10.5","2.10.5rc1","2.11.0","2.11.0rc1","2.11.1","2.11.1rc1","2.11.1rc2","2.11.2","2.11.2rc1","2.2.0","2.2.0b1","2.2.0b2","2.2.0rc1","2.2.1","2.2.1rc1","2.2.1rc2","2.2.2","2.2.2rc1","2.2.2rc2","2.2.3","2.2.3rc1","2.2.3rc2","2.2.4","2.2.4rc1","2.2.5","2.2.5rc1","2.2.5rc2","2.2.5rc3","2.3.0","2.3.0b1","2.3.0rc1","2.3.0rc2","2.3.1","2.3.1rc1","2.3.2","2.3.2rc1","2.3.2rc2","2.3.3","2.3.3rc1","2.3.3rc2","2.3.3rc3","2.3.4","2.3.4rc1","2.4.0","2.4.0b1","2.4.0rc1","2.4.1","2.4.1rc1","2.4.2","2.4.2rc1","2.4.3","2.4.3rc1","2.5.0","2.5.0rc1","2.5.0rc2","2.5.0rc3","2.5.1","2.5.1rc1","2.5.1rc2","2.5.2","2.5.2rc1","2.5.2rc2","2.5.3","2.5.3rc1","2.5.3rc2","2.6.0","2.6.0b1","2.6.0rc1","2.6.0rc2","2.6.0rc3","2.6.0rc4","2.6.0rc5","2.6.1","2.6.1rc1","2.6.1rc2","2.6.1rc3","2.6.2","2.6.2rc1","2.6.2rc2","2.6.3","2.6.3rc1","2.7.0","2.7.0b1","2.7.0rc1","2.7.0rc2","2.7.1","2.7.1rc1","2.7.1rc2","2.7.2","2.7.2rc1","2.7.3","2.7.3rc1","2.8.0","2.8.0b1","2.8.0rc1","2.8.0rc2","2.8.0rc3","2.8.0rc4","2.8.1","2.8.1rc1","2.8.2","2.8.2rc1","2.8.2rc2","2.8.2rc3","2.8.3","2.8.3rc1","2.8.4","2.8.4rc1","2.9.0","2.9.0b1","2.9.0b2","2.9.0rc1","2.9.0rc2","2.9.0rc3","2.9.1","2.9.1rc1","2.9.1rc2","2.9.2","2.9.2rc1","2.9.3","2.9.3rc1","3.0.0","3.0.0b4","3.0.0rc1","3.0.0rc1.post1","3.0.0rc1.post2","3.0.0rc1.post3","3.0.0rc1.post4","3.0.0rc2","3.0.0rc3","3.0.0rc4","3.0.1","3.0.1rc1","3.0.2","3.0.2rc1","3.0.2rc2","3.0.3","3.0.3rc1","3.0.3rc2","3.0.3rc3","3.0.3rc4","3.0.3rc5","3.0.3rc6","3.0.4","3.0.4rc1","3.0.4rc2","3.0.5","3.0.5rc1","3.0.5rc2","3.0.5rc3","3.0.6","3.0.6rc1","3.0.6rc2","3.1.0","3.1.0b1","3.1.0b2","3.1.0rc1","3.1.0rc2","3.1.1","3.1.1rc1","3.1.1rc2","3.1.2","3.1.2rc1","3.1.2rc2","3.1.3","3.1.3rc1","3.1.4","3.1.4rc1","3.1.4rc2","3.1.5","3.1.5rc1","3.1.6","3.1.6rc1","3.1.7","3.1.7rc1","3.1.7rc2","3.1.8","3.1.8rc1","3.1.8rc2","3.2.0","3.2.0b1","3.2.0b2","3.2.0rc1","3.2.0rc2","3.2.1","3.2.1rc1","3.2.1rc2","3.2.1rc3","3.2.2rc1","3.2.2rc2","3.2.2rc3"]}],"products":[{"vendor":"apache","product":"airflow"},{"vendor":"apache software foundation","product":"apache airflow"}],"references":[{"url":"https://github.com/apache/airflow/pull/66673","tags":["patch","Issue Tracking","Patch","fix","web"]},{"url":"https://lists.apache.org/thread/r2q93dg2wp5h9sd9vh6y4y5ljqd9crdd","tags":["vendor-advisory","Mailing List","Vendor Advisory","advisory","web"]},{"url":"http://www.openwall.com/lists/oss-security/2026/06/01/3","tags":["Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45192","tags":["web","advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-173.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-2883-wwh7-x57v","tags":["advisory"]},{"url":"https://pypi.python.org","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45192.json","tags":["advisory"]},{"url":"https://github.com/apache/airflow","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-45192","title":"Apache Airflow: Incomplete Redaction of Sensitive Fields in Connection Extra API Response","description":"A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.","status":"published","published":"2026-06-01T06:51:41.026Z","modified":"2026-11-03T06:56:27.147Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"adp"}],"cwes":["CWE-200"],"updated_at":"2026-11-03T07:42:18.253008Z"}],"euvd":[{"id":"EUVD-2026-33567","description":"A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.","status":"published","published":"2026-06-01T06:51:41Z","modified":"2026-11-03T06:56:27Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-03T08:50:00.381029Z"}],"ghsa":[{"id":"GHSA-2883-wwh7-x57v","title":"Apache Airflow: Incomplete redaction allowlist exposes secrets in Connection `extra`  to read-permitted users","description":"A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.","status":"published","published":"2026-06-01T09:31:12Z","modified":"2026-07-07T23:47:11Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T14:40:40.389795Z"}],"nvd":[{"id":"CVE-2026-45192","description":"A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.","status":"published","published":"2026-06-01T08:16:20.567Z","modified":"2026-11-03T07:20:26.183Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-200"],"updated_at":"2026-11-03T11:52:48.71003Z"}],"osv":[{"id":"CVE-2026-45192","title":"Apache Airflow: Incomplete Redaction of Sensitive Fields in Connection Extra API Response","description":"A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.","status":"published","published":"2026-06-01T06:51:41.026Z","modified":"2026-11-04T02:47:35.266977944Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-200"],"updated_at":"2026-11-04T02:53:45.692342Z"},{"id":"GHSA-2883-wwh7-x57v","title":"Apache Airflow: Incomplete redaction allowlist exposes secrets in Connection `extra`  to read-permitted users","description":"A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.","status":"published","published":"2026-06-01T09:31:12Z","modified":"2026-07-08T00:11:13.633208902Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T15:46:33.956911Z"},{"id":"PYSEC-2026-173","description":"A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.","status":"published","published":"2026-06-01T08:16:20.567Z","modified":"2026-07-13T16:45:04.896592258Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:55.06457Z"},{"id":"BIT-airflow-2026-45192","title":"Apache Airflow: Incomplete Redaction of Sensitive Fields in Connection Extra API Response","description":"A bug in the GET `/api/v2/connections/{connection_id}` REST API endpoint in Apache Airflow allowed an authenticated UI/API user with Connection-read permission to retrieve secrets stored in a Connection's `extra` JSON blob under field names not present in the redaction allowlist (`DEFAULT_SENSITIVE_FIELDS`) — for example, official Slack-provider credential field names were returned in plaintext. Affects deployments that store credentials in Connection `extra` blobs and grant Connection-read access to multiple users. Users are advised to upgrade to `apache-airflow` 3.2.2 or later. As a defense-in-depth mitigation, deployment operators can store sensitive credential values in a secret-backend rather than inlined into the Connection's `extra` field.","status":"published","published":"2026-06-05T05:40:43.901Z","modified":"2026-09-08T08:45:27.077827948Z","updated_at":"2026-11-02T15:28:28.267217Z"}]}}
