Katalog CVE

CVE-2026-93882

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.36%

Percentyl 27 - wyżej niż 27% wszystkich znanych CVE

Streszczenie

Wtyczka LearnPress – WordPress LMS Plugin dla WordPressa do wersji 4.4.8 włącznie jest podatna na Insecure Direct Object Reference (IDOR) poprzez callback `CourseMaterialTemplate::render_material_items()` wystawiony na publicznym endpointcie `lp-ajax-handle` (load_content_via_ajax). Endpoint nie wymaga nonce ani kontroli uprawnień, a handler `render_material_items()` autoryzuje na podstawie jednego identyfikatora (course_id), podczas gdy pobiera dane materiałów na podstawie drugiego, niezależnego identyfikatora (item_id), bez sprawdzenia, czy lekcja należy do autoryzowanego kursu. Pozwala to nieuwierzytelnionym atakującym na odczyt i pobieranie plików materiałów kursu (ścieżki plików przesłanych i zewnętrznych) należących do lekcji w płatnych kursach lub wymagających zapisu, pod warunkiem, że na stronie istnieje kurs z włączoną opcją 'No Required Enroll' i posiada co najmniej jeden plik materiału.

Ocena ryzyka

Nieuwierzytelniony atakujący może uzyskać dostęp do materiałów kursu, które powinny być chronione, co może prowadzić do naruszenia poufności danych edukacyjnych i finansowych.

Rekomendacja

Zaleca się aktualizację wtyczki LearnPress do najnowszej wersji, która zawiera poprawkę. Należy również sprawdzić, czy endpoint `lp-ajax-handle` jest odpowiednio zabezpieczony i nie pozwala na nieautoryzowany dostęp.

Inne podatności w LearnPress – WordPress LMS Plugin

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

The LearnPress – WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 4.4.8 via the CourseMaterialTemplate::render_material_items() callback exposed on the public lp-ajax-handle (load_content_via_ajax) endpoint. The endpoint is explicitly listed in the AbstractAjax no-nonce allowlist and performs no capability check, and the render_material_items() handler decides authorization against one attacker-supplied identifier (course_id) while fetching the returned material rows via a second, independently attacker-supplied identifier (item_id) with no check that the lesson belongs to the authorized course. This makes it possible for unauthenticated attackers to read and download course-material files (uploaded and external file paths/URLs) belonging to lessons in paid or enrollment-required courses, provided any single course on the site has 'No Required Enroll' enabled and owns at least one material file.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS