{"id":"CVE-2020-13927","published":"2020-11-10T16:15:11Z","modified":"2026-06-17T02:53:54Z","title":"Apache Airflow's Experimental API Authentication Bypass","vendor":"Apache","product":"Airflow's Experimental API","tier":"core","eol":null,"description":{"text":"The previous default setting for Airflow's Experimental API was to allow all API requests without authentication, but this poses security risks to users who miss this fact. From Airflow 1.10.11 the default has been changed to deny all requests by default and is documented at https://airflow.apache.org/docs/1.10.11/security.html#api-authentication. Note this change fixes it for new installs but existing users need to change their config to default `[api]auth_backend = airflow.api.auth.backend.deny_all` as mentioned in the Updating Guide: https://github.com/apache/airflow/blob/1.10.11/UPDATING.md#experimental-api-will-deny-all-request-by-default","provenance":"source","from":"NVD"},"summary":{"text":"The Experimental API in Apache Airflow shipped with a default configuration that allowed all API requests without authentication, a flaw that persists in existing installations that have not changed their configuration. An unauthenticated attacker with network access to the Experimental API can make requests without credentials, and no user interaction or prior authentication is required, though the flaw applies only where the insecure default remains in place (fixed by default from Airflow 1.10.11, with existing users needing to set the deny-all auth backend).","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-29T13:44:46Z"},"cvss":{"score":9.8,"severity":"CRITICAL","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","provenance":"source","from":"NVD"},"epss":{"score":0.99778,"percentile":0.99955,"date":"2026-10-29","provenance":"source"},"kev":{"dateAdded":"2022-01-18","dueDate":"2022-07-18","ransomware":false,"requiredAction":"Apply updates per vendor instructions.","notes":"https://nvd.nist.gov/vuln/detail/CVE-2020-13927","provenance":"source"},"vulncheckKev":{"dateAdded":"2022-01-18","exploitedFirstSeen":"2022-01-18","ransomware":false,"evidence":[{"url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","date":"2022-01-18"}],"evidenceTotal":1,"provenance":"source"},"exploited":true,"otx":{"pulseCount":50,"pulses":[{"name":"Actively_Exploited_Kev | Oct 29, 2026","url":"https://otx.alienvault.com/pulse/6ae20c1db17e7057ae7d9ad1","created":"2026-10-28"},{"name":"Actively_Exploited_Kev | Oct 28, 2026","url":"https://otx.alienvault.com/pulse/6ae0ba7e0e2a97ff7b218819","created":"2026-10-27"},{"name":"Actively_Exploited_Kev | Oct 27, 2026","url":"https://otx.alienvault.com/pulse/6adf68b85c3e852f3c111d18","created":"2026-10-26"},{"name":"Actively_Exploited_Kev | Oct 24, 2026","url":"https://otx.alienvault.com/pulse/6adb740e397c3ad4799aa4cd","created":"2026-10-23"},{"name":"Actively_Exploited_Kev | Oct 23, 2026","url":"https://otx.alienvault.com/pulse/6ada236fcfba2dfa730ea482","created":"2026-10-22"},{"name":"Actively_Exploited_Kev | Oct 22, 2026","url":"https://otx.alienvault.com/pulse/6ad8d33a077cbb5cab524d80","created":"2026-10-21"},{"name":"Actively_Exploited_Kev | Oct 21, 2026","url":"https://otx.alienvault.com/pulse/6ad78130c4d1ac2be83a8b6d","created":"2026-10-20"},{"name":"Actively_Exploited_Kev | Oct 20, 2026","url":"https://otx.alienvault.com/pulse/6ad62f63c24a405a3423cc13","created":"2026-10-19"},{"name":"Actively_Exploited_Kev | Oct 19, 2026","url":"https://otx.alienvault.com/pulse/6ad4dda174e5797d0bd238b7","created":"2026-10-18"},{"name":"Actively_Exploited_Kev | Oct 18, 2026","url":"https://otx.alienvault.com/pulse/6ad38c22e1848f8189d1c121","created":"2026-10-17"}],"provenance":"machine"},"cwes":[{"id":"CWE-306","name":"Missing Authentication for Critical Functionality"},{"id":"CWE-1188","name":"Initialization of a Resource with an Insecure Default"},{"id":"CWE-1056","name":"Invokable Control Element with Variadic Parameters"}],"references":[{"url":"http://packetstormsecurity.com/files/162908/Apache-Airflow-1.10.10-Remote-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://packetstormsecurity.com/files/174764/Apache-Airflow-1.10.10-Remote-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"https://lists.apache.org/thread.html/r23a81b247aa346ff193670be565b2b8ea4b17ddbc7a35fc099c1aadd%40%3Cdev.airflow.apache.org%3E","tags":["Mailing List","Vendor Advisory"]},{"url":"http://packetstormsecurity.com/files/162908/Apache-Airflow-1.10.10-Remote-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://packetstormsecurity.com/files/174764/Apache-Airflow-1.10.10-Remote-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"https://lists.apache.org/thread.html/r23a81b247aa346ff193670be565b2b8ea4b17ddbc7a35fc099c1aadd%40%3Cdev.airflow.apache.org%3E","tags":["Mailing List","Vendor Advisory"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-13927","tags":["Third Party Advisory","US Government Resource"]}],"techniques":[{"id":"T1190","name":"Exploit Public-Facing Application","tactics":["initial-access"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: unauthenticated API request exploits public-facing app","mappingType":"exploitation_technique","evidence":[{"from":"description","quote":"allow all API requests without authentication","start":67,"end":112}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"},{"id":"T1059","name":"Command and Scripting Interpreter","tactics":["execution"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: API accepts requests enabling command/DAG execution","mappingType":"primary_impact","evidence":[{"from":"description","quote":"allow all API requests without authentication","start":67,"end":112}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"}],"reports":[],"affected":[{"ecosystem":"PyPI","package":"apache-airflow","vulnerableRanges":["<1.10.11"],"patched":["1.10.11"],"from":["GHSA-hhx9-p69v-cx2j","PYSEC-2020-18"],"provenance":"source"}],"advisories":[{"id":"GHSA-hhx9-p69v-cx2j","url":"https://github.com/advisories/GHSA-hhx9-p69v-cx2j","severity":"CRITICAL","ecosystem":"PyPI","package":"apache-airflow","vulnerableRanges":["<1.10.11"],"patched":["1.10.11"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2020-0037","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2020-0037","exploited":true,"exploitedSince":"2022-01-18","provenance":"source"},"exploits":[{"id":49927,"url":"https://www.exploit-db.com/exploits/49927","title":"Apache Airflow 1.10.10 - 'Example Dag' Remote Code Execution","type":"webapps","platform":"multiple","date":"2021-06-02","verified":false,"provenance":"source"}],"exploitSources":{"exploitdb":{"count":1,"earliest":"2021-06-02"},"pocGithub":{"count":1,"skipped":0,"earliest":"2026-07-07","earliestUrl":"https://github.com/ferralon-demo/airflow-experimental-api-rce","repos":[{"name":"ferralon-demo/airflow-experimental-api-rce","url":"https://github.com/ferralon-demo/airflow-experimental-api-rce","stars":0,"created":"2026-07-07"}]},"metasploit":[{"name":"Apache Airflow 1.10.10 - Example DAG Remote Code Execution","module":"exploit/linux/http/apache_airflow_dag_rce","type":"exploit","disclosureDate":"2020-07-14","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/apache_airflow_dag_rce.rb"}],"nuclei":[{"id":"CVE-2020-13927","name":"Airflow Experimental <1.10.11 - REST API Auth Bypass","severity":"critical","path":"http/cves/2020/CVE-2020-13927.yaml","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2020/CVE-2020-13927.yaml"}],"first":{"date":"2020-07-14","source":"Metasploit","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/apache_airflow_dag_rce.rb"},"provenance":"source"},"exploitRefs":["http://packetstormsecurity.com/files/162908/Apache-Airflow-1.10.10-Remote-Code-Execution.html","http://packetstormsecurity.com/files/174764/Apache-Airflow-1.10.10-Remote-Code-Execution.html"],"flow":[{"stage":"exploitation","techniques":["T1190"],"provenance":"ai"},{"stage":"primary","techniques":["T1059"],"provenance":"ai"}],"timeline":[{"date":"2020-07-14","kind":"exploit-public","label":"First public exploit: Metasploit; later: Exploit-DB 2021-06-02, PoC-in-GitHub 2026-07-07","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/apache_airflow_dag_rce.rb","provenance":"source"},{"date":"2020-11-10","kind":"published","label":"Published (NVD)","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-13927","provenance":"source"},{"date":"2022-01-18","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","provenance":"source"},{"date":"2022-01-18","kind":"kev","label":"Added to CISA KEV","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","provenance":"source"},{"date":"2022-01-18","kind":"euvd-exploited","label":"ENISA EUVD: exploited","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2020-0037","provenance":"source"}],"speed":{"daysToPublicExploit":null,"firstExploitFrom":"Metasploit","daysToKev":434},"priority":{"score":69.9,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in CISA KEV and VulnCheck KEV"},{"name":"Recent KEV listing","points":0.0,"detail":"added 1745 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.99,"detail":"percentile 0.9996"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"2 NVD references tagged Exploit; 1 Exploit-DB entry; 1 PoC-in-GitHub repo; 1 Metasploit module; 1 nuclei template"},{"name":"Mentioned in OTX pulses","points":3.0,"detail":"50 pulses"},{"name":"CVSS severity","points":6.86,"detail":"base score 9.8"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]}}