Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ファイル管理で許可した拡張子以外アップロード不可に変更 #5867

Merged
merged 2 commits into from
Jan 12, 2023

Conversation

nanasess
Copy link
Contributor

@nanasess nanasess commented Nov 15, 2022

概要(Overview・Refs Issue)

方針(Policy)

  • パラメータで設定した拡張子以外はエラーとする
  • 以下の拡張子を対象とする
    • jpg
    • jpeg
    • png
    • gif
    • webp
    • svg
    • ico
    • html
    • htm
    • js
    • css
    • txt
    • pdf

実装に関する補足(Appendix)

  • zip などのアーカイブファイルは、不正アクセスに使用されるケースがあるため対象外としました
  • mp4 などの動画ファイルは、youtube など配信サービスにアップロードするケースが多いと思われるため対象外としました

テスト(Test)

ユニットテストを追加

相談(Discussion)

  • 対象の拡張子に過不足ありましたらご教示ください
  • 環境変数で設定できると良いなと思いましたが、 .env に配列を設定すると視認性が悪いため、今のところ eccube.yaml のみの設定にしています

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更はありません
  • フックポイントの呼び出しタイミングの変更はありません
  • フックポイントのパラメータの削除・データ型の変更はありません
  • twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか
    • 権限を超えた操作が可能にならないか
    • 不要なファイルアップロードがないか
    • 外部へ公開されるファイルや機能の追加ではないか
    • テンプレートでのエスケープ漏れがないか

@codecov-commenter
Copy link

codecov-commenter commented Nov 15, 2022

Codecov Report

Merging #5867 (ac0ed8e) into 4.2 (b36f749) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                4.2    #5867      +/-   ##
============================================
- Coverage     78.79%   78.77%   -0.02%     
  Complexity     6298     6298              
============================================
  Files           470      470              
  Lines         21132    21132              
============================================
- Hits          16650    16647       -3     
- Misses         4482     4485       +3     
Flag Coverage Δ
E2E 64.83% <100.00%> (ø)
Unit 77.70% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...Eccube/Controller/Admin/Content/FileController.php 84.70% <100.00%> (ø)
...orage/Handler/SameSiteNoneCompatSessionHandler.php 76.56% <0.00%> (-3.13%) ⬇️
src/Eccube/Controller/Block/CalendarController.php 92.18% <0.00%> (-1.57%) ⬇️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@chihiro-adachi chihiro-adachi added this to the 4.2.1 milestone Jan 11, 2023
@chihiro-adachi chihiro-adachi added improvement 機能改善 security security affected:外部仕様 外部仕様の変更や追加 labels Jan 11, 2023
@chihiro-adachi chihiro-adachi merged commit bfddf0b into EC-CUBE:4.2 Jan 12, 2023
@chihiro-adachi
Copy link
Contributor

ありがとうございます。マージしました

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affected:外部仕様 外部仕様の変更や追加 improvement 機能改善 security security
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ファイルアップロード制御/ファイル実行制御で PHP ファイル以外も制限が必要か
3 participants