redirect_goto leads to the blank page always if some of the status codes here redirect_status_code_options() is translated not correctly.
Source of the issue is: drupal_add_http_header('Status', redirect_status_code_options($redirect->status_code));
As in redirect_status_code_options() statuses are wrapped in t(), it can be a reason of vulnerability.
Status header should be started always with the number like "301 ...", if someone translates locale string for example "301 Moved Permanently" like "Content is moved (301)", redirects become to be broken for whole site.
Comments
Comment #2
anton.shloma commentedHere is simple patch, which fixes this vulnerability.
Comment #3
anton.shloma commentedSry, correct patch is attached
Comment #4
anton.shloma commentedComment #7
Stevel commentedYes, this looks good indeed. The actual status code number should not be passed to translators.
Comment #8
pifagor commentedRTBC
Comment #9
alex_optimLooks good.
Comment #10
pifagor commentedComment #13
pifagor commentedComment #15
ciss commentedIsn't the real issue here that the translated string is used in the status header?
Comment #16
ciss commented... Well, the good news is that header injections are prevented by PHP: