Description
Open edX Platform enables the authoring and delivery of online learning at any scale. Prior to commit 59bb6d6, the view function set_course_mode_price() at lms/djangoapps/instructor/views/instructor_dashboard.py:430 is decorated only with @login_required and performs no course-level permission check. Any authenticated user — including a learner account with zero course roles — can issue a single POST request to overwrite the honor mode price and currency of any course on the platform. The companion frontend modal was removed in a prior cleanup, but the URL route and view remain live, making this an unguarded orphan endpoint. This issue has been patched via commit 59bb6d6.
References5
- github.com/openedx/openedx-platform/commit/59bb6d669e4fdc24d96a…
- github.com/openedx/openedx-platform/commit/f25bbc4d52bd827c8f04…
- github.com/openedx/openedx-platform/commit/fd93ef5f9940f4ad6f50…
- github.com/openedx/openedx-platform/security/advisories/GHSA-rq…
- github.com/openedx/openedx-platform/security/advisories/GHSA-rq…
Metrics
- CVSS 3.1
-
7.6
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L - EPSS — exploit probability
- 0% percentile: 34 · as of 3 November 2026
- CWE
- CWE-862
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.