diff --git a/ChangeLog b/ChangeLog index f0808076a..ee5aa2e2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,11 @@ phpMyAdmin - ChangeLog $Id$ $HeadURL$ +2.10.0.3 (not released yet) +===================== + +- bug #1679801 [core] XSS vulnerability in PMA_sanitize(), thanks to sp3x SecurityReason + 2007-03-02 Marc Delisle ### 2.10.0.2 released from MAINT_2_10_0 diff --git a/libraries/sanitizing.lib.php b/libraries/sanitizing.lib.php index b36af285a..6de0bbd74 100644 --- a/libraries/sanitizing.lib.php +++ b/libraries/sanitizing.lib.php @@ -34,7 +34,31 @@ function PMA_sanitize($message) '[br]' => '
', '[/a]' => '', ); - return preg_replace('/\[a@([^"@]*)@([^]"]*)\]/', '', strtr($message, $replace_pairs)); + $sanitized_message = strtr($message, $replace_pairs); + $sanitized_message = preg_replace( + '/\[a@([^"@]*)@([^]"]*)\]/e', + '\'\'', + $sanitized_message); + + return $sanitized_message; } +/** + * removes javascript + * + * @uses trim() + * @uses strtolower() + * @uses substr() + * @param string uri + */ +function PMA_sanitizeUri($uri) +{ + $uri = trim($uri); + + if (strtolower(substr($uri, 0, 10)) === 'javascript') { + return ''; + } + + return $uri; +} ?>