
CVE-2023-22884 PoC
CVE-2023-22884 の PoC は、2.4.0 より前のバージョンに影響する Apache Airflow の RCE 脆弱性です。
公式レポートの説明には次のように記載されています:
Apache Software Foundation Apache Airflow および Apache Software Foundation Apache Airflow MySQL Provider における、コマンドに使用される特殊要素の不適切な無害化('Command Injection')の脆弱性。この問題は Apache Airflow: 2.5.1 より前、Apache Airflow MySQL Provider: 4.0.0 より前に影響します。(出典)
このパッケージの影響を受けるバージョンは、LOAD DATA LOCAL INFILE ステートメントへの入力のサニタイズ不足によりコマンドインジェクションに対して脆弱であり、攻撃者がオペレーティングシステム上でコマンドを実行するために悪用される可能性があります。(出典)
このリポジトリは、vsociety ブログで公開されている CVE 分析ブログ記事のために作成されました。
リポジトリをクローンできます:
git clone https://github.com/jakabakos/CVE-2023-22884-Airflow-SQLi.git
cd CVE-2023-22884-Airflow-SQLi/airflow-2.5.0
docker-compose run --build で実行します。
結果として、ログにウェブサーバーとその他のコンポーネントが起動していること、および localhost:8080 にログインフォームがあることが表示されるはずです。デフォルトのユーザー名とパスワードは airflow です。
dags フォルダのサンプル DAG を参照してください。
エクスプロイトはテストモードと攻撃モードで実行できます。
cd exploit
# Run exploit in test mode:
python3 exploit.py -u admin -p admin --host http://localhost:8080 --mode test -ci mysql -di bulk_load_from_file
# Run exploit in attack mode:
python3 exploit.py -u admin -p admin --host http://localhost:8080 --mode attack -ci mysql -di bulk_load_from_file -dc dag_config.json
このソフトウェアは、学術研究および効果的な防御技術の開発のみを目的として作成されたものであり、明示的に許可された場合を除き、システムへの攻撃に使用することを意図したものではありません。プロジェクトのメンテナーは、ソフトウェアの誤用について一切責任を負いません。責任を持って使用してください。