OpenProjectはオープンソースのウェブベースのプロジェクト管理ソフトウェアです。バージョン16.3.0から16.6.4までの間に、ロードマップビューにおける永続的クロスサイトスクリプティングの脆弱性が存在しました。OpenProjectのロードマップビューは各バージョンの「関連作業パッケージ」リストを表示します。あるバージョンが別のプロジェクト(例えばサブプロジェクト)の作業パッケージを含む場合、ヘルパーlink_to_work_packageはpackage.project.to_sをリンクの前に付加し、その結果を.html_safeとして返します。プロジェクト名はユーザーが操作可能であり、html_safeを呼び出す前にエスケープ処理がされないため、サブプロジェクト名に置かれた任意のHTMLがそのままページに注入されます。この根本的な問題は、バージョン16.6.5および17.0.0で`X-Content-Type-Options: nosniff`ヘッダーを設定することで緩和されました。このヘッダーはRails標準のコンテンツセキュリティポリシーへのリファクタリング移行までは有効でしたが、新しい設定ではOpenProject 16.3.0以降に適切に適用されていません。アップグレードできない環境のユーザーは、プロキシとして機能するウェブアプリケーションサーバーに必ずX-Content-Type-Options: nosniffヘッダーを追加する必要があります。
|