File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed 
src/java/fr/paris/lutece/plugins/search/solr/web Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -59,6 +59,8 @@ public class SolrSuggestServlet extends HttpServlet
5959{
6060    private  static  final  long  serialVersionUID  = -3273825949482572338L ;
6161
62+     private  static  final  String  CALLBACK_FUNCTION_NAME_ERROR_MESSAGE  = "Callback function name must match [_\\ -A-Za-z0-9]+"  ;
63+     
6264    public  void  init (  )
6365    {
6466    }
@@ -76,6 +78,13 @@ public String getSuggest( HttpServletRequest request )
7678
7779        SolrSearchEngine  engine  = SolrSearchEngine .getInstance (  );
7880        StringBuffer  result  = new  StringBuffer (  );
81+ 
82+         // XSS control 
83+         if  (callback  == null  || !callback .matches ( "[_\\ -A-Za-z0-9]+"  ))
84+         {
85+             return  CALLBACK_FUNCTION_NAME_ERROR_MESSAGE ;
86+         }
87+ 
7988        result .append ( callback  );
8089
8190        result .append ( "({\" response\" :{\" docs\" :["  );
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments