Fix unescaped user input in LDAP query (#24379)
This commit is contained in:
		
							parent
							
								
									ffa9249c1e
								
							
						
					
					
						commit
						6ccd12b521
					
				
					 1 changed files with 1 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -6,7 +6,7 @@ module LdapAuthenticable
 | 
			
		|||
  class_methods do
 | 
			
		||||
    def authenticate_with_ldap(params = {})
 | 
			
		||||
      ldap   = Net::LDAP.new(ldap_options)
 | 
			
		||||
      filter = format(Devise.ldap_search_filter, uid: Devise.ldap_uid, mail: Devise.ldap_mail, email: params[:email])
 | 
			
		||||
      filter = format(Devise.ldap_search_filter, uid: Devise.ldap_uid, mail: Devise.ldap_mail, email: Net::LDAP::Filter.escape(params[:email]))
 | 
			
		||||
 | 
			
		||||
      if (user_info = ldap.bind_as(base: Devise.ldap_base, filter: filter, password: params[:password]))
 | 
			
		||||
        ldap_get_user(user_info.first)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue