CVE-2020-26214: Alerta < 8.1.0 - Authentication Bypass

日期: 2025-08-01 | 影响软件: Alerta | POC: 已公开

漏洞描述

Alerta prior to version 8.1.0 is prone to authentication bypass when using LDAP as an authorization provider and the LDAP server accepts Unauthenticated Bind requests.

PoC代码[已公开]

id: CVE-2020-26214

info:
  name: Alerta < 8.1.0 - Authentication Bypass
  author: CasperGN,daffainfo
  severity: critical
  description: Alerta prior to version 8.1.0 is prone to authentication bypass when using LDAP as an authorization provider and the LDAP server accepts Unauthenticated Bind requests.
  impact: |
    Successful exploitation of this vulnerability allows an attacker to bypass authentication and gain unauthorized access to Alerta.
  remediation: |
    Upgrade Alerta to version 8.1.0 or later to mitigate this vulnerability.
  reference:
    - https://github.com/advisories/GHSA-5hmm-x8q8-w5jh
    - https://tools.ietf.org/html/rfc4513#section-5.1.2
    - https://pypi.org/project/alerta-server/8.1.0/
    - https://nvd.nist.gov/vuln/detail/CVE-2020-26214
    - https://github.com/alerta/alerta/commit/2bfa31779a4c9df2fa68fa4d0c5c909698c5ef65
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2020-26214
    cwe-id: CWE-287
    epss-score: 0.84892
    epss-percentile: 0.99299
    cpe: cpe:2.3:a:alerta_project:alerta:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: alerta_project
    product: alerta
  tags: cve,cve2020,alerta,auth-bypass,alerta_project

http:
  - method: GET
    path:
      - '{{BaseURL}}/api/config'

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - compare_versions(version, '< 8.1.0')

      - type: word
        part: body
        words:
          - '"alarm_model"'
          - '"actions"'
          - '"severity"'
        condition: and

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        name: version
        group: 1
        regex:
          - '"name": "Alerta ([0-9.]+)"'
        internal: true

      - type: regex
        group: 1
        regex:
          - '"name": "Alerta ([0-9.]+)"'
# digest: 4a0a00473045022100ecf51731f7789cd982cec58329199ebe32094d7589c819345622a85841f9a04802203e1db72475aaf79435751d679f5379189acdda8938aa62f95910fe6a9d5344e5:922c64590222798bb761d5b6d8e72950