SmartSection 2.23 リリース : 脆弱性の対応など
XOOPS X (ten) ディストリビューションでメンテナンスしている smartsection モジュール Version 2.23 をリリースしました。
X-update で、導入・アップデートできます。(ダウンロードはこちら)
今回の主なアップデート内容は次の通りです。
- ファイルアップロードに関するバグ修正
- ファイルアップロード時のファイル種別判別を送信された MIME タイプでのみ行っていたので、拡張子も合わせて判別するようにしました。
- データベース `smartsection_files` テーブルの `mimetype` カラムのデータタイプを "varchar(64)" から "varchar(255)" に変更しました。
- 投稿時・ファイルアップロード時のリダイレクト先が正しくない場合がある問題を修正しました。
- ソースコードのリファクタリングを軽く行いました。
- Javascript が jQuery とコンフリクトを起こして正常に機能しない問題を修正しました。
- 記事タイトル・カテゴリ名など必要のないものにテキストサニタイザの `displayTarea()` フィルターを通さないように変更しました。
- サポートサイトへのリンクを github.com/XoopsX/smartsection に変更しました。
このうち、ファイルアップロード時のファイル種別判別についてです。
smartsection では、アップロードされたファイルの拡張子を含むファイル名にユーザーが簡単に推測できるプレフィックスを付けた状態で、ドキュメントルート内に保存されます。
その上、2.22 以前では、ユーザーが送信する MIME タイプでのみファイル種別判定を行っていましたので、任意の拡張子のファイルをドキュメントルート上に配置できる脆弱性がありました。
管理者以外にファイルアップロードを許可していないのなら問題はありませんが、ユーザーにファイルアップロードを許可している場合は、2.23 以上へのアップデートを強くお勧め致します。
また、2.23 以降であってもアップロード時の拡張子のままドキュメントルート上に保存する仕様なので、アップロード権限は管理者以外には付けない運用をお勧め致します。
コメント(0)
