Executive brief
LearnPress is a WordPress plugin for creating and managing online courses. The plugin's AI assistant feature fails to verify course enrollment before processing requests, allowing any logged-in user to view paid course content they haven't purchased. An attacker with a subscriber account can extract lesson material, quiz answers, and other sensitive content from courses they have no access to.
Technical details
The vulnerability is an authentication/authorization bypass in the AI assistant REST API handler. When processing openai_assistant_chat AJAX requests, the plugin does not verify that the requesting user is enrolled in the target course before reading and sending lesson content to the OpenAI API. An authenticated user (even with minimal subscriber privileges) can craft a POST request with arbitrary course_id and item_id parameters to access any lesson. The vulnerable endpoint is reached via lp-load-ajax=openai_assistant_chat and processes requests containing lesson identifiers without enrollment validation. The fix is available in version 4.4.4 and later.
Affected products
- LearnPress LearnPress before 4.4.4
Timeline
- 2026-08-10: disclosed
- 2026-08-12: patched: Fix available in version 4.4.4