Skip to main content

Frappe LMS EUVDEUVD-2026-31177

| CVE-2026-39405 CRITICAL
Path Traversal (CWE-22)
2026-05-20 GitHub_M
9.4
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Obtain course-editor account
  2. Delivery
    Craft SCORM ZIP with traversal entries
  3. Exploit
    Upload via course-builder
  4. Execution
    Server extracts files outside SCORM directory
  5. Persist
    Overwrite config or drop webshell
  6. Impact
    Achieve code execution on LMS host

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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 account with the course-editing role on a Frappe LMS instance running version 2.50.0 or earlier, and the ability to reach the SCORM ZIP upload feature within the course-builder workflow - the vulnerability is specifically in handling of SCORM package archives, not arbitrary file uploads. No user interaction by a victim is needed (UI:N) and no additional preconditions such as MFA bypass or non-default configuration are described. Exploitation is limited by the PR:L authentication gate (course-editor role, not anonymous), so deployments that tightly scope the editor role to vetted instructors materially reduce exposure; conversely, instances with self-service instructor signup or broadly granted editor roles are effectively pre-authenticated from an attacker's perspective.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms network-reachable, low-complexity exploitation requiring low-privileged authentication and no user interaction, with high VC/VI/VA and high SC/SI/SA - meaning compromise of the LMS process can propagate to subsequent components on the host. The PR:L requirement is meaningful: an attacker needs a valid account with course-editing role, which limits opportunistic mass-exploitation but does not protect environments that grant editor roles liberally (e.g., shared instructor accounts, weak onboarding controls, or insider threats). No EPSS score, KEV listing, or public POC was provided in the input, so realistic risk is high in terms of impact but currently bounded by the authentication gate; no public exploit identified at time of analysis. The headline 9.4 should not be mistaken for unauthenticated RCE - it reflects the post-auth blast radius, not ease of initial access.

Exploit ScenarioDerived

An attacker with a compromised or legitimate course-editor account crafts a SCORM ZIP whose entries contain traversal sequences (e.g., ../../apps/lms/site_config.json or paths into the Frappe sites directory) and uploads it through the LMS course-builder UI. On extraction, the server writes attacker-controlled files to sensitive locations, enabling overwrite of configuration, planting of executable hooks, or staging of follow-on code execution; no public POC is identified at time of analysis but the bug class is well-known and trivially weaponized.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – May 20, 2026

Path traversal in Frappe Learning Management System (LMS) versions 2.50.0 and below allows authenticated users with course-editing privileges to write arbitrary files outside the intended upload directory by uploading a maliciously crafted SCORM ZIP package. The CVSS 4.0 base score of 9.4 reflects high impact across confidentiality, integrity, and availability with scope change to subsequent systems, though exploitation requires low-privileged authentication. No public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to Frappe LMS v2.50.1, which includes the path-traversal fix backported via PR #2275 (https://github.com/frappe/lms/releases/tag/v2.50.1); see the GHSA advisory at https://github.com/frappe/lms/security/advisories/GHSA-mxh7-g3r7-g96h for details. If immediate upgrade is not possible, restrict the course-editor role to a minimal, trusted set of accounts and audit existing course-editor membership to reduce the pool of users who can reach the vulnerable SCORM upload path; this trades off operational friction during content authoring. As an additional compensating control, disable or block access to the SCORM import endpoint at a reverse proxy or WAF until patching is complete, accepting that instructors will be unable to upload SCORM content during that window; monitor application file-system writes outside the configured SCORM extraction directory for evidence of attempted exploitation.

Affected VersionsENISA

LMS < 2.50.1

Affected Packages

euvd lms fix: 2.50.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 an open-source learning management platform built on the Frappe framework, commonly deployed for online course delivery and content structuring. The flaw is a classic CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, 'Path Traversal') triggered during the SCORM (Sharable Content Object Reference Model) package import workflow. SCORM packages are ZIP archives containing course assets, and Frappe LMS unpacks them server-side. The vulnerable code failed to sanitize entry names within the archive, permitting '../' sequences or absolute paths (a 'Zip Slip'-class issue) so attacker-controlled files land outside the SCORM extraction directory on the application server. Affected product per CPE is cpe:2.3:a:frappe:lms with the fix landing in the upstream repository via PR #2274 (backported in #2275).

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 9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
May 20, 2026 - 21:32 EUVD
CVSS changed
May 20, 2026 - 20:22 NVD
9.4 (CRITICAL)

DescriptionCVE.org

Frappe Learning Management System (LMS) is a learning system that helps users structure their content. In versions 2.50.0 and below, a user with course editing role could upload a SCORM ZIP package to write files outside the intended directory. This issue has been resolved in version 2.50.1.

Executive ViewAI

Why It Matters

Frappe LMS deployments remain exposed to a critical file-injection risk where course administrators can exploit SCORM package uploads to place malicious files anywhere on the server, threatening student data confidentiality, platform integrity, and adjacent infrastructure. Organizations managing sensitive training or educational data through Frappe LMS 2.50.0 and below face significant operational and compliance risk requiring immediate emergency controls.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: Restrict course-editing privileges to trusted administrators only; implement SCORM package validation and file path whitelisting; deploy Web Application Firewall rules to detect path traversal patterns; enable file integrity monitoring on application directories; segment networks to limit lateral movement from compromised instances.

Threat Intelligence Overview

EPSS Score
0.0%
Top 86% exploitable
Data Quality
6 sources
Confidence: High

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Partial

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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