Fixed a low-severity SQL injection in the modfunc2 of indexed_search
authorIngmar Schlecht <ingmar.schlecht@typo3.org>
Mon, 10 Dec 2007 18:51:50 +0000 (18:51 +0000)
committerIngmar Schlecht <ingmar.schlecht@typo3.org>
Mon, 10 Dec 2007 18:51:50 +0000 (18:51 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/branches/TYPO3_4-0@2815 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/indexed_search/modfunc2/class.tx_indexedsearch_modfunc2.php

index f8a76fb..919aa06 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-12-10  Ingmar Schlecht  <ingmar@typo3.org>
+
+        * (security) Fixed a low-severity SQL injection in the modfunc2 of indexed_search (only exploitable by BE users, and severity limited because addslashes() was already applied to the value - yet not within a quoted string) (Thanks to Henning Pingel for findind the issue and Andreas Otto for the fix)
+
 2007-11-09  Benjamin Mack  <mack@xnos.org>
 
         * (bugfix) Fixed Image Generation bug. Call in t3lib_div now uses the IM wrapper to render gifs/pngs
index 01bf5f5..8b816c0 100644 (file)
@@ -86,10 +86,10 @@ class tx_indexedsearch_modfunc2 extends t3lib_extobjbase {
         * @return      string          html table with results
         */
        function showStats()    {
-               global $LANG,$HTTP_GET_VARS,$TYPO3_CONF_VARS;
+               global $LANG, $TYPO3_CONF_VARS;
 
                $conf['words']=50;      // max words in result list
-               $conf['bid']=$HTTP_GET_VARS['id'];      // pageid for several statistics
+               $conf['bid'] = intval(t3lib_div::_GET('id'));   // pageid for several statistics
 
                $addwhere1='';  // all records
                $addwhere2=' AND tstamp > '.(time()-30*24*60*60);       // last 30 days
@@ -123,7 +123,7 @@ class tx_indexedsearch_modfunc2 extends t3lib_extobjbase {
 
                $queryParts['SELECT']= '*, COUNT(*) AS c';
                $queryParts['FROM']='index_stat_word';
-               $queryParts['WHERE']=sprintf('pageid= %s '.$addwhere, $conf['bid']);
+               $queryParts['WHERE']=sprintf('pageid= %d '.$addwhere, $conf['bid']);
                $queryParts['GROUPBY']='word';
                $queryParts['ORDERBY']='c DESC,word';
                $queryParts['LIMIT']=$conf['words'];