From 4b38003d412c6982041c5c3b204d38ed7f53e299 Mon Sep 17 00:00:00 2001 From: Joern Schneeweisz Date: Tue, 22 Oct 2019 14:09:57 +0200 Subject: 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 --- app/controllers/concerns/internal_redirect.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') 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, -- cgit v1.2.3