{"schemaVersion":3,"id":"CVE-2026-86473","aliases":["PYSEC-2026-3990","BIT-airflow-2026-86473"],"status":"published","duplicateOf":null,"title":null,"description":"Apache Airflow: the Core API logout endpoint revokes only a session token presented as the _token cookie. When a client logs out presenting its credential as an Authorization bearer header instead, the endpoint returns its normal logout response but revokes nothing, so the token remains valid until it expires. An attacker who already holds a copy of that token keeps the victim's access after the victim has logged out and believes the session ended; the default token lifetime is 24 hours and is configurable.\n\nAffects API clients that authenticate with a bearer token rather than the browser session cookie. The attacker must already possess a copy of a valid token; obtaining one is outside the scope of this issue, and no privileges beyond the victim's own are gained.\n\nUsers of apache-airflow are recommended to upgrade to apache-airflow version 3.3.2 or later, which fixes the issue.","dates":{"published":"2026-09-21T14:33:26.110Z","modified":"2026-09-21T18:41:13.406Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.1,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Pypi","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","exploitability":10,"impact":8.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00747,"percentile":0.54085,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-09-22T00:00:00.000Z","score":0.00396,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00396,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00521,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00521,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00747,"percentile":0.54085}],"last30":[{"date":"2026-09-22T00:00:00.000Z","score":0.00396,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00396,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00521,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00521,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00747,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00747,"percentile":0.54085}]},"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-613","name":"Insufficient Session Expiration","description":"According to WASC, \"Insufficient Session Expiration is when a web site permits an attacker to reuse old session credentials or session IDs for authorization.\"","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/613.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.0.0, < 3.3.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.0.0, < 3.3.2","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.0.0, < 3.3.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.0.0, < 3.3.2","eol":{"isEol":null,"eolDate":null,"matchMethod":"cpe","cycle":null,"product":{"name":"apache-airflow","label":"Apache Airflow","category":"framework"}},"hubHref":"/vendor/apache/airflow"},{"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.0.0, < 3.3.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.0.0, < 3.3.2","eol":null,"hubHref":null}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/apache/airflow/pull/72649","label":"github.com/apache/airflow/pull/72649","hostname":"github.com","tags":["Patch","REPORT","Issue Tracking","Vendor Advisory"]},{"url":"https://lists.apache.org/thread/k9z1p0q1ng8m68nlnv9d1fqzscrfm7vr","label":"lists.apache.org/thread/k9z1p0q1ng8m68nlnv9d1fqzscrfm7vr","hostname":"lists.apache.org","tags":["Vendor Advisory","Advisory","Mailing List"]},{"url":"http://www.openwall.com/lists/oss-security/2026/09/21/5","label":"www.openwall.com/lists/oss-security/2026/09/21/5","hostname":"www.openwall.com","tags":["Advisory","Mailing List","Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-09-21T14:33:26.110Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-21T18:41:13.406Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T16:22:37.454Z","stale":false,"partial":false}}