Opened 12 years ago
Closed 12 years ago
#28362 closed defect (bug) (fixed)
Asterisk (*) characters are incorrectly removed in wp_sanitize_redirect
| Reported by: | jkohlbach | Owned by: | SergeyBiryukov |
|---|---|---|---|
| Priority: | normal | Milestone: | 4.0 |
| Component: | Formatting | Version: | 2.0.4 |
| Severity: | normal | Keywords: | has-patch commit |
| Cc: | Focuses: |
Description (last modified by )
According to the URI spec under section 2.3 Unreserved Characters (http://www.ietf.org/rfc/rfc2396.txt) the asterisk character (*) is allowed in URI's but wp_sanitize_redirect strips them out.
This send means the user is sent to the wrong URL when using wp_redirect or wp_safe_redirect.
To reproduce, open wp-includes/pluggable.php and drop in some debug in the wp_redirect function:
echo '<pre>DEBUG: ' . print_r($location, true) . '</pre>'; $location = wp_sanitize_redirect($location); echo '<pre>DEBUG: ' . print_r($location, true) . '</pre>'; die();
Then just use wp_redirect('http://google.com/test=12345*abcdef', 301); and you'll see the * is being stripped incorrectly.
Attachments (1)
Change History (6)
#1
@
12 years ago
- Description modified (diff)
- Keywords has-patch added
- Milestone Awaiting Review → 4.0
- Version 3.9.1 → 2.0.4
#3
in reply to: ↑ 2
@
12 years ago
Replying to miqrogroove:
Why only * ? Other common chars include @ and [ and ] also.
As far as I'm aware those chars aren't in the reserved characters list I linked to above.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)
Related: [3926], [3939], [11147].