Publiccm RCE 概要 脆弱性: テンプレートキャッシュ生成におけるパストラバーサル(ディレクトリトラバーサル)。 対象コード: - TemplateCacheComponent.java (235 行目) - TemplateCacheComponent.java (260 行目) - TemplateCacheComponent.java (291 行目) - FreeMarkerUtils.java (75 行目) 原因: - キャッシュパスは、テンプレートパスとパラメータを直接連結して生成される。 - パスセグメントに対するフィルタリングが欠如している。 - 絶対パスに対するセキュリティフィルタリングが実施されていない。 - ファイルパスを直接使用するため、対象ディレクトリからの脱出が可能。 再現手順: - エクスプロイト URL: - 悪意ある URL: - スクリプト攻撃: パスの上書きを利用してデフォルトファイルに書き込む。 核心原理: - 入力検証の失敗。 - 検証されていないユーザー入力の直接使用。 - パスの正規化処理が適切に行えないこと。 影響: キャッシュファイルおよびディレクトリが標的となり改ざんされることで、リモートコード実行(RCE)につながる。