# HG changeset patch # User Dan # Date 1197511460 18000 # Node ID c74736571f4390ef765821d9ba8a0968567b537e # Parent f49e3c8b638c19cf149fdc5eec60514cbffec60a SECURITY: CRITICAL: Fix SQL injection in admin CP page editor diff -r f49e3c8b638c -r c74736571f43 plugins/SpecialAdmin.php --- a/plugins/SpecialAdmin.php Tue Dec 11 19:15:26 2007 -0500 +++ b/plugins/SpecialAdmin.php Wed Dec 12 21:04:20 2007 -0500 @@ -1796,7 +1796,7 @@ $id = md5( microtime() . mt_rand() ); $minor = isset($_POST['minor']) ? 'true' : 'false'; - $q='INSERT INTO '.table_prefix.'logs(log_type,action,time_id,date_string,page_id,namespace,page_text,char_tag,author,edit_summary,minor_edit) VALUES(\'page\', \'edit\', '.time().', \''.date('d M Y h:i a').'\', \'' . $db->escape($_POST['page_id']) . '\', \'' . $db->escape($_POST['namespace']) . '\', \''.$data.'\', \''.$id.'\', \''.$session->username.'\', \''.$db->escape(htmlspecialchars($_POST['summary'])).'\', '.$minor.');'; + $q='INSERT INTO '.table_prefix.'logs(log_type,action,time_id,date_string,page_id,namespace,page_text,char_tag,author,edit_summary,minor_edit) VALUES(\'page\', \'edit\', '.time().', \''.date('d M Y h:i a').'\', \'' . $db->escape($_POST['page_id']) . '\', \'' . $db->escape($_POST['namespace']) . '\', \''.$db->escape($data).'\', \''.$id.'\', \''.$session->username.'\', \''.$db->escape(htmlspecialchars($_POST['summary'])).'\', '.$minor.');'; if(!$db->sql_query($q)) $db->_die('The history (log) entry could not be inserted into the logs table.'); $query = 'UPDATE '.table_prefix.'page_text SET page_text=\''.$db->escape($data).'\',char_tag=\''.$id.'\' WHERE page_id=\'' . $db->escape($_POST['page_id']) . '\' AND namespace=\'' . $db->escape($_POST['namespace']) . '\';'; @@ -1809,12 +1809,12 @@ ?>


- Edit summary:
+ Edit summary:

- - + +