diff options
author | Marius Balteanu <marius.balteanu@zitec.com> | 2022-03-18 18:42:55 +0000 |
---|---|---|
committer | Marius Balteanu <marius.balteanu@zitec.com> | 2022-03-18 18:42:55 +0000 |
commit | ce622c428e2fc40c32e9ee09aafc44d739b389e3 (patch) | |
tree | 99e9bad0d82038b53b7fe46ec7b53d993f59cd45 /app/controllers | |
parent | d6c0759db4f3322d18f970e558920b20aed552af (diff) | |
download | redmine-ce622c428e2fc40c32e9ee09aafc44d739b389e3.tar.gz redmine-ce622c428e2fc40c32e9ee09aafc44d739b389e3.zip |
Avoid passing ActionController::Parameters outside of MailHandlerController (#36394).
Patch by Felix Schäfer.
git-svn-id: http://svn.redmine.org/redmine/trunk@21464 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/mail_handler_controller.rb | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/app/controllers/mail_handler_controller.rb b/app/controllers/mail_handler_controller.rb index 649714bcc..aabc3cbac 100644 --- a/app/controllers/mail_handler_controller.rb +++ b/app/controllers/mail_handler_controller.rb @@ -28,7 +28,32 @@ class MailHandlerController < ActionController::Base # Submits an incoming email to MailHandler def index - options = params.dup + # MailHandlerController#index should permit all options set by + # RedmineMailHandler#submit in rdm-mailhandler.rb. + # It must be kept in sync. + options = params.permit( + :key, + :email, + :allow_override, + :unknown_user, + :default_group, + :no_account_notice, + :no_notification, + :no_permission_check, + :project_from_subaddress, + { + issue: [ + :project, + :status, + :tracker, + :category, + :priority, + :assigned_to, + :fixed_version, + :is_private + ] + } + ).to_h email = options.delete(:email) if MailHandler.safe_receive(email, options) head :created |