Skip to content

Commit b62e552

Browse files
staabmdmethvin
authored andcommitted
Fix #12554. Sanitize data from POST. Close jquerygh-908.
1 parent 5fb258b commit b62e552

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

AUTHORS.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,5 @@ Chris Faulkner <[email protected]>
131131
Elijah Manor <[email protected]>
132132
Daniel Chatfield <[email protected]>
133133
Nikita Govorov <[email protected]>
134-
Mike Pennisi <[email protected]>
134+
Mike Pennisi <[email protected]>
135+
Markus Staab <[email protected]>

test/polluted.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,22 @@
4242
if( count($_POST) ) {
4343
$includes = array();
4444
foreach( $_POST as $name => $ver ){
45+
if ( empty( $libraries[ $name ] )) {
46+
echo "unsupported library ". $name;
47+
exit;
48+
}
49+
4550
$url = $libraries[ $name ][ "url" ];
4651
if( $name == "YUI" && $ver[0] == "2" ) {
47-
$url = str_replace( "/yui", "/yuiloader", $url, $count = 2 );
52+
$url = str_replace( "/yui", "/yuiloader", $url);
53+
}
54+
55+
if ( empty( $libraries[ $name ][ "versions" ][ $ver ] )) {
56+
echo "library ". $name ." not supported in version ". $ver;
57+
exit;
4858
}
49-
$include = "<script src='$baseURL".str_replace("XYZ", $ver, $url, $count = 1)."'></script>\n";
59+
60+
$include = "<script src='$baseURL".str_replace("XYZ", $ver, $url)."'></script>\n";
5061
if( $lib == "prototype" ) { // prototype must be included first
5162
array_unshift( $includes, $include );
5263
} else {

0 commit comments

Comments
 (0)