Odebrany

CVE-2026-90979

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

LDAPCache i LDAPBackingEngine budują filtry wyszukiwania LDAP do wyszukiwania użytkowników i ról, zastępując tekstowo symbole zastępcze%u,%dn i%fqdn (pobrane z nazwy logowania, rozpoznanej nazwy wyróżniającej użytkownika i jego w pełni kwalifikowanej formy przestrzeni nazw) do szablonów filtrów skonfigurowanych przez administratora (userFilter, roleFilter). Przed poprawką jedyną metodą oczyszczania zastępowanej wartości był podwójny ukośnik odwrotny:

filter = filter.replaceAll(Pattern.quote("%u"), Matcher.quoteReplacement(user));

filtr = filtr.replace("\\", "\\\\");




Nie powoduje to ucieczki innych znaków. RFC 4515 wymaga ucieczki w filtrze wyszukiwania LDAP: *, (, ) i NUL. Nazwa logowania zawierająca dowolną z nich może zmienić strukturę wynikowego filtru, a nie być dopasowywana jako wartość dosłowna (np. spreparowana nazwa użytkownika może zamienić dopasowanie równości w dopasowanie z symbolem wieloznacznym lub zamknąć/ponownie otworzyć klauzule filtra), poszerzając zakres zwracany przez wyszukiwanie i potencjalnie powodując dopasowanie loginu lub roli do wpisu LDAP innego niż zamierzony, nadmierne przydzielanie ról i w zależności od szablonów filtrów specyficznych dla wdrożenia, potencjalnie wpływając na to, do którego konta zostanie rozpoznane logowanie.




Nie można go wykorzystać w każdym punkcie wejścia: LDAPLoginModule i LDAPPubkeyLoginModule oba nazywane Util.doRFC2254Encoding() (poprawna ucieczka z RFC 4515) na nazwie logowania przed przekazaniem jej do LDAPCache, co maskowało brakujące zmiany w LDAPCache dla tych dwóch ścieżek połączeń. Z tego powodu bezpośrednie użycie LDAPCache (z pominięciem modułów logowania) nie powoduje odtworzenia normalnego przepływu uwierzytelniania LDAPPubkeyLoginModule. Odtwarza się poprzez dwie inne ścieżki połączeń, które docierają do LDAPCache/LDAPBackingEngine bez wcześniejszej ucieczki:

* GSSAPILdapLoginModule przekazuje nazwę NameCallback bezpośrednio, bez zmiany znaczenia.
* LDAPBackingEngine (listRoles) przekazuje principal.getName() od razu, bez zmiany znaczenia.

>_ Słabości (CWE)

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org