В рамках процедуры аутентификации мы создаем System.DirectoryServices.DirectoryEntry
из имени пользователя и пароля, введенных пользователем:
var de = new DirectoryEntry(ldapPathFromConfig, typedUserName, typedPassword, AuthenticationTypes.ReadonlyServer|AuthenticationTypes.Secure);
Но когда мы запускаем код через Checkmarx, он утверждает, что в typedUserName
и typedPassword
есть уязвимости "внедрения LDAP", потому что они не очищены. Я не понимаю, почему, поскольку по определению пароль может быть что угодно... И используемый конструктор явно предназначен для приема username
и password
в качестве второго и третьего параметров.