注目★★★★★GitHub Advisory
Grav、大文字拡張子で .htaccess 回避可能—設定ファイル盗聴リスク
30秒で把握
- 1Grav の .htaccess ルール、大文字拡張子で case-insensitive 環境から回避可能と判明
- 2.YAML/.PHP/.JSON 等で user/ ・ system/vendor/ 配下の機密ファイル直アクセス許可
- 3Windows/macOS/Docker 環境は [NC] フラグ追加版へ更新・テスト実施が必須
要約
Grav の.htaccess セキュリティルールが大文字小文字を区別するため、Windows/macOS/Docker ボリュームなどの case-insensitive ファイルシステムで大文字拡張子 (.YAML、.PHP、.JSON) を使うと規則を回避できる。デフォルト設定では RewriteRule に [NC] (No Case) フラグが無く、攻撃者は user/ や system/vendor/ ディレクトリの機密ファイルへの直接 HTTP アクセスが可能になる。Grav 2.0.1 以降と 1.7.x で確認された。.htaccess に [NC] フラグを追加するか、拡張子マッチを大文字小文字両方に対応させることで対策できる。
あなたへの影響
Grav を本番運用する場合、特に Windows/Docker 環境は大文字拡張子でのアクセステストを実施し。
推奨:.htaccess 最新版への更新または [NC] フラグ追加を検証推奨。