
このスクリプトは、システムユーザー、学生、管理者が自分のSCP(セキュアコピー)クライアントがCVE-2020-15778(OpenSSH SCPのコマンドインジェクションの脆弱性、バージョン≤ 8.3p1)に対して脆弱かどうかを確認するための、安全でシンプルなツールです。
CVE-2020-15778 は、OpenSSH が提供する scp ユーティリティで発見されたコマンドインジェクションの脆弱性です(バージョン ≤ 8.3p1)。この問題により、細工された送信先引数(バッククォートを含む)が scp に渡された場合、攻撃者はクライアントシステム上で任意のコマンドを実行できます。
このリポジトリには、Bash で書かれた安全な検出およびシミュレーションスクリプトが含まれています。このスクリプトは、ユーザーやシステム管理者が以下のことを行うのに役立ちます:
scp バージョンが脆弱かどうかを識別するOpenSSH の scp では、バージョン 8.3p1 以前は、シェルに渡す前に送信先引数を適切にサニタイズしません。これにより、攻撃者はバッククォート(`)などのシェルメタ文字を使用して任意のコマンドを注入できます。
scp file.txt user@host:`touch /tmp/pwned`/file.txt
脆弱な SCP バージョンでは、このコマンドの実行時にクライアントのマシン上で touch /tmp/pwned が実行されます。
| SCP バージョン | 状態 |
|---|---|
| ≤ 8.3p1 | 脆弱 |
| ≥ 8.4p1 | 非脆弱 |
この Bash スクリプトは、以下のアクションを実行します:
git clone https://github.com/drackyjr/CVE-2020-15778-SCP-Command-Injection-Check.git
cd scp-cve-2020-15778-checker
chmod +x scp_cve_check.sh
./scp_cve_check.sh