
このリポジトリは、Easy Chat Server 3.1 のユーザー登録処理におけるパストラバーサル問題である CVE-2026-36227 に対する良性の PoC(Proof of Concept)を含んでいます。
このリポジトリは、許可されたセキュリティ研究とローカルでの再現のみを目的としています。所有していない、または明示的なテスト許可を得ていないシステムに対して使用しないでください。
Easy Chat Server 3.1 は POST /registresult.htm を通じて登録データを受け入れます。UserName パラメータは、アプリケーションで使用される前に十分にサニタイズされません。../../ecs-traversal-proof.txt のようなトラバーサル形式の値により、アプリケーションが意図されたユーザー登録パスの外側にファイルを書き込む可能性があります。
公開されている PoC は、意図的に無害な証明用ファイル名を使用しており、実行可能なウェブシェルやコマンド実行コンテンツは含まれていません。
Vaibhav D. Barkade
/registresult.htmUserName所有している、またはテストを許可されたラボインスタンスに対して実行します:
python3 poc.py 127.0.0.1 80
リクエストを送信せずに表示します:
python3 poc.py 127.0.0.1 80 --dry-run
カスタムのトラバーサル証明値を使用します:
python3 poc.py 127.0.0.1 80 --username '../../ecs-traversal-proof.txt'
ターゲットに脆弱性がある場合、サーバーはトラバーサル制御された UserName 値で登録リクエストを処理します。運用者は、Easy Chat Server のインストールディレクトリまたは web/root ディレクトリに作成された証明用アーティファクトを確認する必要があります。
推奨される深刻度は、展開環境と到達可能な書き込みパスによって異なります。認証されていないリモートユーザーがウェブ実行可能なパスに書き込める場合、この問題はリモートコード実行につながる可能性があり、高(High)または重大(Critical)として扱う必要があります。書き込みが非実行可能な場所に限定されている場合、直接的な影響はパストラバーサルと不正なファイル書き込みです。
UserName 内のパス区切り文字とトラバーサルシーケンスを拒否します。