cbcvebase.
CVE-2020-26876
published 2020-10-07

CVE-2020-26876: 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…

PriorityP178high7.5CVSS 3.1
AVNACLPRNUINSUCHINAN
ITWEXPLOITVulnCheck KEV
Exploited in the wild
EPSS
9.20%
94.7th percentile
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).

Affected

1 ranges
VendorProductVersion rangeFixed in
wpcoursespluginwp-courses<= 2.0.27

Detection & IOCsextracted from sources · hover to see the quote

url/wp-json/wp/v2/lesson/1
url/wp-json/wp/v2/course
url/wp-json/wp/v2/lesson
  • HTTP GET request to /wp-json/wp/v2/lesson/1 (or any lesson/course ID) on a WordPress site running wp-courses plugin; a 200 or 404 response with Content-Type application/json and a body containing 'rest_post_invalid_id' or JSON fields 'guid', 'title', 'content', or 'excerpt' with 'rendered' key indicates the endpoint is exposed and exploitable.
  • The vulnerability is exploitable via the WordPress REST API because show_in_rest is enabled for the 'course' and 'lesson' custom post types in wp-courses plugin versions through 2.0.27, allowing unauthenticated access to protected content.
  • ·The Nuclei template targets lesson ID '1' as a probe, but any valid post ID for a course or lesson can be used. Defenders should monitor all requests matching /wp-json/wp/v2/course/* and /wp-json/wp/v2/lesson/* for unauthenticated access.
  • ·Both HTTP 200 (successful data retrieval) and HTTP 404 (invalid ID but endpoint exists) are considered indicators of a vulnerable/exposed endpoint in the detection template.
  • ·Affected versions are wp-courses plugin through 2.0.27; the fix was introduced in 2.0.29. The remediation note in the template incorrectly states version 1.0.9.

CVSS provenance

nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
nvdv2.05.0MEDIUMAV:N/AC:L/Au:N/C:P/I:N/A:N
vulncheck7.5HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.