セキュリティーアラート
| 重大度: | ハイ |
| カテゴリ: | 特権ユーザーによる任意のコード実行 |
| 影響を受けるプロジェクト: | edxプラットフォーム |
| 記者: | サードパーティのセキュリティ監査人 |
| 永続URL: | https://openedx.org/CVE-2015-5601 |
edx プラットフォーム コードの定期的なサードパーティ セキュリティ監査中に、バグにより、特定のカテゴリの特権ユーザーが実行中のプロセスのユーザーとして任意のコードを実行できることが発見されました。
共通脆弱性と露出(CVE)プロジェクトはこの問題にCVE-2015-5601という名称を割り当てました。これは CVE リスト(http://シーブ.mitre.org)は、セキュリティ問題の名称を標準化する規格です。
詳細情報
問題は、.tar.gz ファイルのアップロードを受け付けるコースインポートエンドポイントにあります。アプリが使用する temp ディレクトリではなく、edx-platform ディレクトリ配下にファイルを展開する tar ファイルを作成することが可能となります(詳細は下記参照)。Python ライブラリパスには edx-platform のサブディレクトリが存在するため、「import foo」文はこれらのディレクトリから「foo.py」を検索します。攻撃者はこれらのディレクトリのいずれかに適切な名前の Python ファイルをアップロードすることで、次回アプリケーションを再起動した際にインポートされ、実行される可能性があります。
根本的な問題はtarファイルの処理にあります。アプリケーションは、上向きのトラバーサルや絶対パスを使用して抽出ディレクトリ外を指すファイルやシンボリックリンクを注意深く拒否します。しかし、「extract_tar.py」内のこれらのチェックは、抽出ディレクトリが「.」(これは「/edx/app/edxapp/edx-platform」に解決される)であると誤って想定しています。実際には、実際の抽出ディレクトリを使用する必要があります。
実際の抽出は「/edx/var/edxapp/data」のコース固有のサブディレクトリで行われますが、「edx-platform」のサブディレクトリを指すシンボリックリンクを作成し、後続のファイルをそこに抽出することができます。
このバグは修正されました コミット。
![]()