{"schemaVersion":3,"id":"CVE-2026-54183","aliases":["GHSA-g4qj-5vxv-wggf","BIT-airflow-2026-54183","PYSEC-2026-3705","CGA-984w-26gf-8p82","CGA-9qv8-hvj8-hxxc","CGA-f9v8-qgqj-rr5c","CGA-gjv2-3j93-4fgc"],"status":"published","duplicateOf":null,"title":null,"description":"Apache Airflow's secrets masker hides values stored under sensitive key names when they are displayed in the UI. The masker's recursion-depth limit did not descend into values nested inside a list, tuple, or set beyond that limit, so an Airflow Variable holding such a deeply-nested value was shown unmasked in the Variables UI. The exposure is limited to the UI: any authenticated user who can see the Variable in the UI can already read its full value through the Variables REST API, so this does not disclose data the user could not otherwise obtain — the masking is a shoulder-surfing defense for the UI, not an access-control boundary.\n\nThis is an incomplete-fix follow-up to CVE-2026-42358, whose fix made only the dictionary walk unbounded; lists, tuples, and sets beyond the depth limit remained unmasked in the UI. Deployments that applied the CVE-2026-42358 fix should also upgrade to address this residual case. Upgrade to apache-airflow 3.3.1 or later.","dates":{"published":"2026-08-12T15:34:22.966Z","modified":"2026-09-16T14:55:50.905Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":4.3,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":4.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Pypi","score":4.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","exploitability":7.2,"impact":2.3,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":4.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","exploitability":7.2,"impact":2.3,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":4.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00423,"percentile":0.35227,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":-0.04399999999999994,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.00467},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00423,"percentile":0.35227}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00467,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00636,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00423,"percentile":0.35227}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-200","name":"Exposure of Sensitive Information to an Unauthorized Actor","description":"The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/200.html"}],"affected":[{"vendor":"apache software foundation","product":"apache airflow","name":"Apache Airflow","label":"apache airflow","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.3.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.3.1","eol":null,"hubHref":"/vendor/apache_software_foundation/apache_airflow"},{"vendor":"apache","product":"airflow","name":"Airflow","label":"airflow","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.3.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.3.1","eol":{"isEol":null,"eolDate":null,"matchMethod":"cpe","cycle":null,"product":{"name":"apache-airflow","label":"Apache Airflow","category":"framework"}},"hubHref":"/vendor/apache/airflow"},{"vendor":"chainguard","product":"airflow-2","name":"airflow-2","label":"airflow-2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/airflow-2","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"airflow-core-2","name":"airflow-core-2","label":"airflow-core-2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/airflow-core-2","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"PyPI","product":"apache-airflow","name":"apache-airflow","label":"apache-airflow","ecosystem":"PyPI","cpePart":null,"purl":"pkg:pypi/apache-airflow","purlType":"pypi","versions":[{"text":"< 3.3.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.3.1","eol":null,"hubHref":null}],"affectedCount":5,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/apache/airflow/pull/68422","label":"github.com/apache/airflow/pull/68422","hostname":"github.com","tags":["Patch","WEB","FIX","Issue Tracking"]},{"url":"https://lists.apache.org/thread/z5mrdq6c60f2wyx4cc64cj8nv0dxd9lo","label":"lists.apache.org/thread/z5mrdq6c60f2wyx4cc64cj8nv0dxd9lo","hostname":"lists.apache.org","tags":["Vendor Advisory","WEB","Advisory","Mailing List"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-42358","label":"www.cve.org/CVERecord?id=CVE-2026-42358","hostname":"www.cve.org","tags":["Related","WEB","Advisory","Mailing List","Third Party Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54183","label":"nvd.nist.gov/vuln/detail/CVE-2026-54183","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/apache/airflow/commit/76961a04633f8e5b72e0042b797266ba650fc47c","label":"github.com/apache/airflow/commit/76961a04633f8e5b72e0042b797266ba650fc47c","hostname":"github.com","tags":["WEB"]},{"url":"https://github.com/apache/airflow/commit/fe09e1a9671cf901785c0d779e942b671a56f422","label":"github.com/apache/airflow/commit/fe09e1a9671cf901785c0d779e942b671a56f422","hostname":"github.com","tags":["WEB"]},{"url":"https://github.com/apache/airflow","label":"github.com/apache/airflow","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://github.com/apache/airflow/releases/tag/3.3.1","label":"github.com/apache/airflow/releases/tag/3.3.1","hostname":"github.com","tags":["WEB"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3705.yaml","label":"github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3705.yaml","hostname":"github.com","tags":["WEB"]},{"url":"https://pypi.python.org","label":"pypi.python.org","hostname":"pypi.python.org","tags":["WEB"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54183.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54183.json","hostname":"github.com","tags":["Advisory"]},{"url":"https://github.com/advisories/GHSA-g4qj-5vxv-wggf","label":"github.com/advisories/GHSA-g4qj-5vxv-wggf","hostname":"github.com","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-08-12T15:34:22.966Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-16T14:55:50.905Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":17,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T06:13:06.956Z","stale":false,"partial":false}}