diff options
author | Joern Schneeweisz <jschneeweisz@gitlab.com> | 2019-10-08 08:53:36 +0200 |
---|---|---|
committer | Joern Schneeweisz <jschneeweisz@gitlab.com> | 2019-10-08 08:53:36 +0200 |
commit | e3c910927cfa072c24256136097e7a0b6ef241d6 (patch) | |
tree | bbfad6f1301a2ddb95d39cbb2c8256618154b038 /app | |
parent | 7e2b1008547d8ced97a30e96ac6fbc2b7ad32a7f (diff) | |
download | gitlab-ce-e3c910927cfa072c24256136097e7a0b6ef241d6.tar.gz |
Use the '\A' and '\z' regex anchors in `InternalRedirect` to mitigate an Open Redirect issue.
Fixes https://dev.gitlab.org/gitlab/gitlabhq/issues/2934 and https://gitlab.com/gitlab-org/gitlab/issues/33569
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/concerns/internal_redirect.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/app/controllers/concerns/internal_redirect.rb b/app/controllers/concerns/internal_redirect.rb index 99bbfd56516..a35bc19aa37 100644 --- a/app/controllers/concerns/internal_redirect.rb +++ b/app/controllers/concerns/internal_redirect.rb @@ -6,7 +6,7 @@ module InternalRedirect def safe_redirect_path(path) return unless path # Verify that the string starts with a `/` and a known route character. - return unless path =~ %r{^/[-\w].*$} + return unless path =~ %r{\A/[-\w].*\z} uri = URI(path) # Ignore anything path of the redirect except for the path, querystring and, |