Skip to main content

Frappe LMS CVE-2026-61803

| EUVDEUVD-2026-114197 MEDIUM
Deserialization of Untrusted Data (CWE-502)
2026-10-30 GitHub_M
5.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to LMS account
  2. Delivery
    Open paid course/certificate checkout
  3. Exploit
    Tamper client-supplied price in payment-link request
  4. Execution
    Complete purchase at attacker-chosen amount
  5. Impact
    Obtain enrollment/certificate below real price

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated LMS user account (PR:L) and a site that actually offers paid courses or certificates with the payment/checkout flow enabled. The attacker exploits it by altering the client-supplied pricing values (amount, discount_amount, gst_amount, currency) that the pre-2.52.1 checkout sent to get_payment_link, which the server trusted instead of recomputing. Limiting factors: exploitation is impossible on sites with no paid offerings, it needs valid authentication so it is not anonymous, and impact is confined to financial/pricing integrity - it does not yield other users' data, code execution, or privilege escalation. The fix (v2.52.1) determines all pricing server-side via get_order_summary, so upgrading is the only complete remedy; the advisory lists no workaround.

Impact

This is a moderate, business-logic integrity flaw, not a system-compromise bug. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) describes a network-reachable, low-complexity flaw requiring an authenticated account (PR:L), with impact limited to low integrity (VI:L) and no confidentiality or availability impact - consistent with the advisory's statement that it does not expose other users' data or grant elevated privileges. The priority signal is vuln.today 'this_month' (not act_now/emergency). No EPSS score, no CISA KEV listing, and no public exploit were supplied, so there is no evidence of active or probable exploitation; the only public artifacts are the GHSA advisory and the fix commit. The practical risk is financial: an authenticated user can buy a paid course or certificate for an attacker-chosen amount (including near-zero), causing direct revenue loss to platform operators. Note a data-labeling conflict: the input CWE is CWE-502 (Deserialization) and a 'Deserialization' tag is attached, but the description, advisory, and patch all describe client-controlled pricing accepted by the server - a trust/input-validation issue, not deserialization - so the deserialization classification appears mislabeled and should not drive triage.

Exploit ScenarioDerived

An authenticated user on a Frappe LMS site that sells paid courses or certificates begins the checkout flow and tampers with the client-supplied pricing values (e.g. amount/discount_amount) sent when generating the payment link, then completes the purchase for an amount other than the real price. Because pricing was trusted from the client rather than recomputed server-side, the enrollment or certificate is granted for the manipulated (potentially zero) amount. No public exploit code was identified, but the fix commit publicly reveals the mechanism, lowering the bar to reproduce.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Authenticated users of Frappe LMS can complete a paid course or certificate purchase for an arbitrary amount in versions prior to 2.52.1, because the checkout flow accepts client-supplied pricing instead of recomputing the price on the server. The impact is confined to business-logic and financial integrity - no other users' data is exposed and no elevated privileges are granted - and it only matters on sites that actually sell paid courses or certificates through the payment flow. Version 2.52.1 fixes the issue by deriving all pricing server-side via get_order_summary; no public exploit code has been identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade Frappe LMS to version 2.52.1 or later, available from the project's release tree at https://github.com/frappe/lms/tree/v2.52.1; the advisory GHSA-g5jj-q8m7-359c states the fix and lists no workaround, so upgrading is the only complete remedy. After the upgrade, pricing is computed entirely on the server by get_order_summary() and the checkout endpoint no longer accepts amount, discount_amount, gst_amount, currency or redirect_to from the client, closing the manipulation path. Because the vendor explicitly provides no mitigation short of upgrading, sites that cannot patch immediately remain exposed for any user holding an authenticated account on an installation with paid offerings; there is no supported configuration flag or code-level workaround documented in the advisory to narrow that exposure. Apply the patch via commit 1d04f4fd917b62f5dd4442a541280fc40a4178b4 or the tagged v2.52.1 release rather than reimplementing the price logic independently.

Affected VersionsENISA

LMS < 2.52.1

Affected Packages

euvd lms fix: 2.52.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Frappe LMS is a learning management application built on the Frappe framework, with a Vue frontend (frontend/src/pages/Billing.vue) and a Python backend (lms/lms/payments.py, lms/lms/utils.py). Before the fix, the billing page assembled the order payload itself - sending title, original_amount, discount_amount, gst_amount, currency, coupon and redirect_to - and the backend get_payment_link() trusted those values, subtracting the client-supplied discount and forwarding the resulting amount to the payment gateway. The commit 1d04f4fd917b62f5dd4442a541280fc40a4178b4 removes those parameters, accepts only coupon_code and country from the client, recomputes the order through get_order_summary() on the server, and short-circuits to complete_enrollment() when the computed total is zero or negative. Note the supplied CWE is CWE-502 (Deserialization of Untrusted Data), which does not describe this flaw: the diff shows no deserialization component, and the issue is a classic trust-boundary/business-logic pricing defect (client-controlled price), not object deserialization. The trigger is a manipulated checkout request from a logged-in user; no memory-safety, injection or execution primitive is involved.

Know when Frappe gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable checkout, low complexity, requires an authenticated account (PR:L), no user interaction; impact is limited integrity (manipulated pricing) with no confidentiality or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 30, 2026 - 18:03 EUVD

DescriptionCVE.org

Frappe Learning Management System (LMS) is a learning system that helps users structure their content. Prior to version 2.52.1, the course/certificate checkout flow accepts client-controlled pricing, allowing an authenticated user to complete a paid-course or certificate purchase for an amount other than the actual price. This is a business-logic integrity issue; it does not expose other users' data or grant elevated privileges. This issue is fixed in version 2.52.1.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche open-source learning management platform, limited production footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Frappe

View all
CVE-2025-67289 CRITICAL POC
9.6 Dec 22

Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on

CVE-2018-3885 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3884 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3883 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3882 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2025-66440 HIGH POC
8.8 Dec 15

Authenticated SQL injection in Frappe ERPNext through 15.89.0 allows low-privilege users to extract arbitrary database c

CVE-2025-66439 HIGH POC
8.8 Dec 15

SQL injection in Frappe ERPNext through 15.89.0 lets an authenticated attacker with a valid session and access to the Pa

CVE-2025-66437 HIGH POC
8.8 Dec 15

Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A

CVE-2020-6145 HIGH POC
8.8 Aug 10

An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev

CVE-2026-39352 HIGH POC
8.7 May 20

Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie

CVE-2025-10655 HIGH POC
8.6 Dec 09

SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL

CVE-2025-52042 HIGH POC
8.2 Oct 01

In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy