# ExploitTitle:CITSmartITSM9.1.2.22-LDAPInjection
# GoogleDork:"citsmart.local"
# Date:29/12/2020
# ExploitAuthor: skysbsb
# VendorHomepage: https://docs.citsmart.com/pt-br/citsmart-platform-9/get-started/about-citsmart/release-notes.html
# Version:<9.1.2.23
# CVE:CVE-2020-35775To exploit this flaw it is necessary tohave at least one user/password previously registered, because the system checks (ldap bind) the first user returned in the ldap search. However, it returns the last user found in the search tothe function that called it (logic error).So,I call this problem an LDAP injection in conjunction witha programming logic error that allows you toauthenticatetoCITSmartITSMwithanother valid user without needing toknow the target user's password.
Affected versions:<9.1.2.23Fixed versions:>=9.1.2.23UsingthisLDAP query in the username field of login page you could login withthe target_username account without knowing the target account password.*)(|(sAMAccountName=valid_username)(sAMAccountName=target_username)You must know at least one username/password because the autenticacaoAD() function at LDAPUtils.java class(packagebr.com.centralit.citcorpore.integracao.ad) will trytobindwiththe first user (valid_username) of the query result.
Vendor has acknowledge this vulnerability at ticket 5929(https://docs.citsmart.com/pt-br/citsmart-platform-9/get-started/about-citsmart/release-notes.html)