CVE-2020-26876

WP Courses <= 2.0.28 - Improper Access Controls

2020-09-28 00:00
Red Timmy

Strategic Overview

At a glance

CVE-2020-26876 is a high-severity Improper Access Control vulnerability in the WP Courses LMS WordPress plugin, affecting versions <= 2.0.28. It carries a CVSS score of 7.5 (reachable over the network; low attack complexity; high confidentiality impact). Exploitation requires no authentication. The issue is fixed in version 2.0.29; sites on affected versions should update now. Disclosed September 2020, reported by Red Timmy.

Vulnerability Overview

The wp-courses plugin through 2.0.27 for WordPress allows remote attackers to bypass the intended payment step (for course videos and materials) by using the /wp-json REST API, as exploited in the wild in September 2020. This occurs because show_in_rest is enabled for custom post types (e.g., /wp-json/wp/v2/course and /wp-json/wp/v2/lesson exist).

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on confidentiality.

CWE-284: Improper Access Control

Reaching this weakness in WP Courses LMS <= 2.0.28 takes a caller who can reach the endpoint. Improper access control means the code decides what a caller may do using something other than their actual permissions, so the decision can be wrong without any check appearing to be missing.

Whoever can shape the request decides the answer, so the protected action runs for callers the code never meant to allow. For WP Courses LMS the fix is 2.0.29: builds <= 2.0.28 are affected, anything from 2.0.29 onward is not.

Remediation

Update to version 2.0.29, or a newer patched version

How does WordSec protect against this?

Because it turns on account access, WordSec's login security is the relevant layer: role-based two-factor, captcha and brute-force limits raise the cost of getting the account this needs. None of that substitutes for the fix: WP Courses LMS 2.0.29 closes this, and updating the plugin is the step that ends it.

  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C