Skip to content
Browse files

Sanitize the URLs passed to redirect_to to prevent a potential respon…

…se splitting attack.

CGI.rb and mongrel don't do any sanitization of the contents of HTTP headers, so care needs to be taken.
  • Loading branch information...
1 parent de0ed53 commit ba80ff74a9627f676b4c426587ce5ea487665e46 @NZKoz NZKoz committed Oct 14, 2008
Showing with 2 additions and 2 deletions.
  1. +2 −2 actionpack/lib/action_controller/response.rb
4 actionpack/lib/action_controller/response.rb
@@ -114,8 +114,8 @@ def etag=(etag)
def redirect(url, status)
self.status = status
- self.location = url
- self.body = "<html><body>You are being <a href=\"#{url}\">redirected</a>.</body></html>"
+ self.location = url.gsub(/[\r\n]/, '')
+ self.body = "<html><body>You are being <a href=\"#{CGI.escapeHTML(url)}\">redirected</a>.</body></html>"
def sending_file?

0 comments on commit ba80ff7

Please sign in to comment.
Something went wrong with that request. Please try again.