
台湾のNYCU(国立陽明交通大学)の「Network Security」コースの最終プロジェクト。「EasyAppointments」ソフトウェアのCVEを悪用する。
このドキュメントでは、Easy!Appointments スケジューリングソフトウェアで特定された重大なセキュリティ脆弱性である CVE-2022-0482 の詳細な分析について概説します。CWE-863 に分類される不適切な認可に関連するこの欠陥により、適切な認証なしに個人を特定できる情報への不正アクセスが可能になり、データの機密性と整合性に重大なリスクをもたらします。
Mija Pilkaite
CVE-2022-0482 は、1.4.3 より前のバージョンの Easy!Appointments に影響します。2022年1月30日に Francesco Carlucci によって最初に報告されました。この脆弱性により、不正ユーザーがソフトウェアによって管理される機密データにアクセスし、潜在的に悪用することが可能になります。
この脆弱性を分析するために、以下の手順で隔離された環境を作成しました:
仮想マシンまたは Docker コンテナ内で Ubuntu 22.04 Server を利用します。 公式の GitHub リポジトリ から脆弱性のあるバージョン (1.4.2 以前) の Easy!Appointments をダウンロードします。
docker/server/Dockerfile 内の PHP バージョンを 8.0 に変更します。 ドキュメントに従って config.php を設定します。
インストールコマンド:
docker compose up -d
docker exec -it <container_name> bash
apt install git
apt install npm
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
依存関係のインストール:
npm install
php composer.phar install
悪用には以下の手順が含まれます:
アプリケーションを起動し、http://localhost/index.php/backend にログインして管理者プロファイルを設定します。
この脆弱性は、エンドポイント /index.php/backend_api/ajax_get_calendar_events に対する適切なセキュリティチェックの欠如に起因します。 攻撃者は、"startDate"、"endDate"、"csrfToken" を含む POST リクエストを送信することで、予約の詳細を JSON 形式で取得できます。
すべてのクライアントの詳細情報、予約の詳細、ハッシュ化されたパスワードを含むサービスプロバイダー情報が公開される可能性があります。
cve-2022-0482.py [-h] [--startDate STARTDATE] [--endDate ENDDATE] hostname
パッチのアップグレード: この脆弱性に対処する 1.4.3 以降のバージョンにアップグレードすることが不可欠です。 セキュリティのベストプラクティス: 特に機密性の高いエンドポイントに対して、強力な認証と認可のチェックを実装します。
これらの情報源は、CVE-2022-0482 脆弱性に関する追加情報と技術的詳細を提供し、この問題のより深い理解とさらなる調査に不可欠です。