Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as enrolled student
-
DeliveryCraft REST API write to Quiz Submission doctype
-
ExploitBypass missing server-side authorization
-
ExecutionRecord forged passing/perfect result (or attribute to victim)
-
ImpactUnlock certificate or exhaust victim's attempts
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must hold an authenticated LMS student account and be able to reach the Frappe REST API (PR:L); no special or non-default configuration is required, because the LMS Quiz Submission doctype lacked adequate server-side authorization and permitted direct create/write of submission records. Exploitation is limited to quiz-result records: it cannot expose other users' data or grant elevated roles, and it requires valid session authentication, so it is not reachable by fully unauthenticated attackers. The attempt-exhaustion/DoS variant additionally depends on the target quiz enforcing a maximum-attempts limit, since the original code counted attempts against frappe.session.user rather than the submission's member. |
| Impact | This is a genuine but moderate-priority integrity/availability issue rather than a critical infrastructure flaw. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L) is self-consistent and matches the description: network-reachable, low complexity, but requiring an authenticated student (PR:L) and causing only low integrity and availability impact limited to quiz results - no confidentiality impact and no privilege escalation. The input provides no EPSS score and no CISA KEV listing, and the only references are the vendor advisory, the fix commit, and the release tag - i.e. no public exploit or PoC reference, so exploitation status is 'no public exploit identified at time of analysis.' The vuln.today decision label is 'this_month,' which aligns with the medium 5.3 score and the absence of active-exploitation signals; none of the signals conflict. The practical risk is academic-integrity fraud (self-awarded certificates) and a targeted denial of a specific user's quiz attempts, not data theft or system compromise, so this should be scheduled for routine patching rather than treated as an emergency. |
| Exploit ScenarioDerived | An authenticated student uses the Frappe LMS REST API to directly create a Quiz Submission record showing a passing or perfect score without their answers ever being validated server-side, thereby unlocking course completion and a certificate. The same weakness lets them submit a record attributed to another user, consuming that victim's allowed attempts and blocking their legitimate submission. No public exploit code is identified; only the vendor patch commit is published. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Missing server-side authorization on quiz submission records in Frappe Learning Management System (LMS) lets an authenticated student write quiz results directly through the Frappe REST API, recording a passing or perfect score without their answers being verified and thereby unlocking course completion and certificates. The same gap allows a student to create a submission attributed to another user, consuming that user's allowed attempts and blocking their legitimate submissions. The vendor fixed the issue in version 2.54.0 and states there are no workarounds; no public exploit code has been identified at time of analysis, and the impact is confined to quiz-result integrity and availability - no other users' data is exposed and no elevated roles are granted.
RemediationAI
Upgrade to Frappe LMS v2.54.0 or later, which is the vendor-released patch for this issue; the advisory explicitly states that no workarounds exist and that upgrading is the remedy. The patch removes create/write permission on the LMS Quiz Submission DocType for students, marks the submission field read-only, and corrects the max-attempts check to key off the submission's member rather than the session user, so both the forged-result and attempt-exhaustion paths close together. Deploy the release through your normal Frappe bench update process and migrate the site so the DocType permission changes are applied, then confirm the LMS Quiz Submission permissions no longer grant create or write to the student role. Where immediate upgrade is not possible, restricting REST API access to the lms_quiz_submission endpoint via reverse-proxy rules or Frappe role permissions removes the exposed write path, at the cost of breaking any legitimate client workflows that rely on that endpoint. Monitoring for quiz submissions whose scores appear without corresponding graded answers, or submissions created against members who were not logged in, gives interim detection coverage.
Affected VersionsENISA
Affected Packages
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 built on the Frappe framework, where DocTypes define schema and a permissions block governs create/read/write/share at the API layer; REST requests to a DocType are authorized against those rules rather than against application-specific business logic. Here the LMS Quiz Submission DocType granted create and write to the student role, so the server never confirmed that answers were graded or that the submission was being made by the member it names - a CWE-862 (Missing Authorization) defect. The upstream commit (876504f) shows the fix tightening the DocType definition: create and write were removed from the permissions block, the submission field was made read-only, and the max-attempts check in lms_quiz_submission.py was changed from filtering on frappe.session.user to filtering on the submission's own member value, so attempt counting can no longer be bypassed or redirected onto another account. The trigger is not further described in the available sources, but the assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L) confirms the attacker needs an authenticated student session with network reachability to the REST API, and that confidentiality and scope remain unaffected.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
Network REST API with low complexity and no user interaction, but requires an authenticated student (PR:L); impact is limited integrity and availability of quiz records with no confidentiality loss.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Frappe Learning Management System (LMS) is a learning system that helps users structure their content. Prior to version 2.54.0, quiz submission records are not adequately authorized on the server. Through a REST bypass, an authenticated student can record a passing or perfect quiz result without their answers being verified, unlocking course completion and certificates. The student can also create a submission attributed to another user, exhausting that user's allowed attempts and blocking legitimate submissions. These integrity and availability issues are scoped to quiz results; they do not expose other users' data or grant elevated roles. This issue is fixed in version 2.54.0.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
Authenticated SQL injection in Frappe ERPNext through 15.89.0 allows low-privilege users to extract arbitrary database c
SQL injection in Frappe ERPNext through 15.89.0 lets an authenticated attacker with a valid session and access to the Pa
Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A
An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev
Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie
SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL
In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re
EUVD-2026-114252
NVD
CVE.org
EPSS
GitHub
Exploit-DB