概要
FreeScoutは、PHPのLaravelフレームワークで構築された無料のヘルプデスクおよび共有受信トレイシステムです。この度、FreeScoutのバージョン1.8.206およびそれ以前において、認証されたユーザーがリモートコード実行(RCE)を可能にする深刻な脆弱性(CVE-2026-28289)が報告されました。
この脆弱性は、以前に報告されたCVE-2026-27636に対するパッチをバイパスするものです。具体的には、ファイルアップロード権限を持つ認証済みユーザーが、ゼロ幅スペース文字をファイル名のプレフィックスとして使用することで、セキュリティチェックを回避し、悪意のある.htaccessファイルをサーバーにアップロードできてしまいます。この問題は、app/Http/Helper.php内のsanitizeUploadedFileName()関数に存在するTime-of-Check to Time-of-Use(TOCTOU)の欠陥に起因します。不可視文字が削除されるサニタイズ処理の前に、ドットプレフィックスのチェックが行われるため、このバイパスが可能となります。
影響範囲
- FreeScout 1.8.206 およびそれ以前のバージョン
この脆弱性は、FreeScoutのバージョン1.8.207で修正されています。
想定される影響
この脆弱性が悪用された場合、認証された攻撃者がファイルアップロード権限を持っていると、サーバー上で任意コード実行(RCE)が可能になる可能性があります。これにより、以下のような深刻な被害につながる恐れがあります。
- サーバーの完全な制御奪取
- 機密情報の窃取
- データの改ざんまたは破壊
- ウェブサイトの改ざん
- マルウェアの配布基盤としての悪用
- サービス停止(DoS)
攻撃成立条件・悪用状況
- 攻撃者はFreeScoutシステムへの認証済みユーザーである必要があります。
- 攻撃者はファイルアップロード権限を持っている必要があります。
- ゼロ幅スペース文字を利用した特定のファイル名で、悪意のある.htaccessファイルをアップロードする手法が用いられます。
現時点では、この脆弱性の具体的な悪用状況に関する詳細な報告は確認されていませんが、その性質上、悪用される可能性は十分に考えられます。
推奨対策
最優先で実施すべき対策
- FreeScoutのアップデート: 直ちにFreeScoutをバージョン1.8.207以降にアップデートしてください。これが最も効果的な対策です。
中長期的な対策
- 最小権限の原則: ファイルアップロード機能を持つユーザーの権限を最小限に制限し、不要なユーザーにはこの権限を与えないようにしてください。
- WAFの導入・強化: Webアプリケーションファイアウォール(WAF)を導入している場合は、不正なファイルアップロードや不審なファイル名パターンを検知・ブロックするよう設定を強化することを検討してください。
- 定期的なセキュリティ監査: 定期的にシステムのセキュリティ監査を実施し、潜在的な脆弱性を早期に発見・対処する体制を構築してください。
一時的な緩和策
- ファイルアップロード機能の一時的な無効化: アップデートが困難な場合、業務への影響を考慮しつつ、ファイルアップロード機能を一時的に無効にすることも検討できます。
- Webサーバー設定による制限: Webサーバー(Apacheなど)の設定で、.htaccessファイルのアップロードや実行を厳しく制限する、または特定のディレクトリでの実行を禁止する設定を検討してください。ただし、FreeScoutの正常な動作に影響を与える可能性があるため、十分なテストが必要です。
- 不審なファイル名の監視: システムログやファイルアップロードログを監視し、不可視文字を含むファイル名や、通常とは異なる拡張子のファイルアップロードがないか注意深く確認してください。
確認方法
- FreeScoutのバージョン確認: 現在利用しているFreeScoutのバージョンが1.8.206以前であるかを確認してください。
- システムログの監視: Webサーバーのアクセスログやエラーログ、FreeScoutのログを定期的に確認し、不審なファイルアップロードの試行や、予期しないサーバー設定変更の兆候がないか監視してください。
参考情報
- CVE-2026-28289の詳細情報: https://cvefeed.io/vuln/detail/CVE-2026-28289