Don't allow URLs that contain non-normalized paths to be verified (#20999)
* Don't allow URLs that contain non-normalized paths to be verified This stops things like https://example.com/otheruser/../realuser where "/otheruser" appears to be the verified URL, but the actual URL being verified is "/realuser" due to the "/../". Also fix a test to use 'https', so it is testing the right thing, now that since #20304 https is required. * missing do
This commit is contained in:
parent
48e136605a
commit
69378eac99
2 changed files with 11 additions and 2 deletions
|
@ -46,7 +46,8 @@ class Account::Field < ActiveModelSerializers::Model
|
|||
parsed_url.user.nil? &&
|
||||
parsed_url.password.nil? &&
|
||||
parsed_url.host.present? &&
|
||||
parsed_url.normalized_host == parsed_url.host
|
||||
parsed_url.normalized_host == parsed_url.host &&
|
||||
(parsed_url.path.empty? || parsed_url.path == parsed_url.normalized_path)
|
||||
rescue Addressable::URI::InvalidURIError, IDN::Idna::IdnaError
|
||||
false
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue