Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

LDAP Authentication: Malformed LDAP Filter Syntax, Authorization Works Only for Root Admin

Offen
#13,983 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
java

Rechercherichtung

Beginnen Sie damit, den LDAP-Benutzerimport und eine Anmeldung eines Nicht-Root-Admins in CloudStack 4.22.1.0 zu reproduzieren. Untersuchen Sie anschließend die Management-Server-Logs und die in diesem Issue angezeigte LDAP-Suchanfrage. Als erledigt gilt die Aufgabe, wenn der generierte LDAP-Filter syntaktisch gültig ist, der LDAP-Import erfolgreich ist und Benutzer ohne die Root-Admin-Rolle die UI laden können.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

component:LDAP
problem

Issue Description

After upgrading CloudStack from version 4.21.0.0 to 4.22.1.0, LDAP user authentication stopped working for all roles except Root Admin.

Symptoms
  1. Root Admin — authentication succeeds, UI works correctly
  2. Non-Root Admin users — authentication appears to succeed, but after login:
    • System cannot load any components in the zone
    • UI shows "infinite page loading" that ends in timeout
Behavior on Fresh Installation

When testing on a new CloudStack 4.22.1.0 instance with LDAP user import, logs show an error — malformed LDAP filter syntax (extra opening parenthesis ( at the end):

{"attributes":["uid","mail","givenname","sn","cn","userAccountControl","memberof"],"baseDN":"DC=ldap,DC=goauthentik,DC=io","bindDN":"cn=ldapservice,ou=users,dc=ldap,dc=goauthentik,dc=io","client":"X.X.X.X.","event":"Search request","filter":"(&(&(objectCategory=person)(objectClass=inetOrgPerson))(uid=*)(
Comparison with Working Version (Root Admin)

On the version where Root Admin works correctly, the filter looks correct:

{"attributes":["cn","mail","givenname","sn","cn","userAccountControl","memberof"],"baseDN":"DC=ldap,DC=goauthentik,DC=io","bindDN":"cn=ldapservice,ou=users,dc=ldap,dc=goauthentik,dc=io","client":"X.X.X.X.","event":"Search request","filter":"(&(&(objectCategory=person)(objectClass=inetOrgPerson))(cn=*))","level":"info","requestId":"c411e2c7-0468-46af-9120-b7d1fc652f36","scope":"Whole Subtree","timestamp":"2026-08-26T11:13:44Z","took-ms":15}
versions

Environment

Parameter Value
Product Apache CloudStack
Version (before upgrade) 4.21.0.0
Version (after upgrade) 4.22.1.0
Hypervision KVM
The steps to reproduce the bug

Steps to Reproduce

Scenario 1: Upgrade from 4.21.0.0 → 4.22.1.0
  1. Install CloudStack 4.21.0.0 with LDAP authentication configured
  2. Upgrade to version 4.22.1.0
  3. Attempt to login as a user without Root Admin role
  4. Observed result:
    • Login appears successful
    • UI does not load components (infinite loading → timeout)
Scenario 2: Fresh Installation 4.22.1.0
  1. Deploy new CloudStack 4.22.1.0 instance
  2. Configure LDAP authentication (goauthentik or similar server)
  3. Import users from LDAP
  4. Check CloudStack Management Server logs
  5. Observed result:
    • LDAP query with malformed filter (extra ( at the end)
{"attributes":["uid","mail","givenname","sn","cn","userAccountControl","memberof"],"baseDN":"DC=ldap,DC=goauthentik,DC=io","bindDN":"cn=ldapservice,ou=users,dc=ldap,dc=goauthentik,dc=io","client":"X.X.X.X.","event":"Search request","filter":"(&(&(objectCategory=person)(objectClass=inetOrgPerson))(uid=*)(
Comparison with Working Version (Root Admin)

On the version where Root Admin works correctly, the filter looks correct:

{"attributes":["cn","mail","givenname","sn","cn","userAccountControl","memberof"],"baseDN":"DC=ldap,DC=goauthentik,DC=io","bindDN":"cn=ldapservice,ou=users,dc=ldap,dc=goauthentik,dc=io","client":"X.X.X.X.","event":"Search request","filter":"(&(&(objectCategory=person)(objectClass=inetOrgPerson))(cn=*))","level":"info","requestId":"c411e2c7-0468-46af-9120-b7d1fc652f36","scope":"Whole Subtree","timestamp":"2026-08-26T11:13:44Z","took-ms":15}
What to do about it?

Expected Behavior

  • LDAP filter should be syntactically correct
  • Users of all roles (not only Root Admin) should successfully authenticate and access the UI
  • Filter should match the format: (&(&(objectCategory=person)(objectClass=inetOrgPerson))(uid=*))

Actual Behavior

  • LDAP filter contains syntax error: (&(&(objectCategory=person)(objectClass=inetOrgPerson))(uid=*)(
  • Non-Root Admin users cannot work in UI after authentication
  • On fresh installation, LDAP user import fails due to invalid filter

Questions

  1. How to fix permissions in the "upgraded" CloudStack version where only Root Admin can authenticate without issues?
  2. How to fix the issue in fresh installation with the LDAP query error (malformed filter syntax)?
Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.4k
Ø Merge
6 T. 20 Std.
Gemergte PRs (30 T.)
27

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/cloudstack

Alle Issues in apache/cloudstack

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.