Tamás Hanicz created KNOX-3417:
----------------------------------
Summary: KnoxLdapRealm builds the LDAP search filter from the
client username without RFC-4515 escaping
Key: KNOX-3417
URL: https://issues.apache.org/jira/browse/KNOX-3417
Project: Apache Knox
Issue Type: Bug
Components: Server
Affects Versions: 2.1.0, 3.0.0
Reporter: Tamás Hanicz
Assignee: Tamás Hanicz
Reported by n0mi1k Security
KnoxLdapRealm.java:699-703 formats (&(objectclass=%s)(%s=%s)) with
expandTemplate(getUserSearchAttributeTemplate(), matchedPrincipal), and :706
expands the operator's userSearchFilter the same way; expandTemplate (:752-760)
is a plain \{0} substitution with no encoding, principalRegex defaults to (.*)
(:138) so matchPrincipal filters nothing, and the value reaches
systemLdapCtx.search(searchBase, searchFilter, searchControls) at :716. No
filter-escaping helper exists anywhere in the realm. The username arrives
pre-authentication, via doGetAuthenticationInfo to getUserDn at :263. It's a
filter-injection primitive rather than a demonstrated credential-less bypass.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)