Skip to content
Fencer Vulns
medium 5.4

CVE-2021-24308 json

LifterLMS < 4.21.1 - Authenticated Stored XSS in Edit Profile

published 2021-05-24 5 y ago modified 2026-06-17 4 mo ago also EUVD-2021-11222

cvss
5.4
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
3.2%
EPSS 3.2% chance of exploitation in 30 days, percentile 88%
public exploits
1
Exploit-DB

Summary

The 'State' field of the Edit profile page of the LMS by LifterLMS – Online Course, Membership & Learning Management System Plugin for WordPress plugin before 4.21.1 is not properly sanitised when output in the About section of the profile page, leading to a stored Cross-Site Scripting issue. This could allow low privilege users (such as students) to elevate their privilege via an XSS attack when an admin will view their profile.

Patch / fix

  • lifterlms lifterlms 4.21.1

Timeline

  1. Published
  2. First public exploit (EDB-49912)

Exploit prediction

3.25% chance of exploitation in the next 30 days, higher than 88% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • EDB-49912 WordPress Plugin LifterLMS 4.21.0 - Stored Cross-Site Scripting (XSS) webapps, 2021-05-28
  • wpscan.com https://wpscan.com/vulnerability/f29f68a5-6575-441d-98c9-867145f2b082 referenced PoC, tagged "exploit" by a source, unverified
  • packetstormsecurity.com http://packetstormsecurity.com/files/162856/WordPress-LifterLMS-4.21.0-Cross-Site-Scripting.html referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.1 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
NVD 2.0 3.5 AV:N/AC:M/Au:S/C:N/I:P/A:N

Affected products

  • LifterLMS LMS by LifterLMS – Online Course, Membership & Learning Management System Plugin for WordPress

Classification

Weakness
  • CWE-79 Improper Neutralization of Input During Web Page Generation
Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.