OpenLearnX CVE-2026-41900
HIGHSeverity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable code-run feature usable by any low-priv account (PR:L, AC:L, UI:N); sandbox escape crosses into the host trust boundary, so S:C, with full host C/I/A impact.
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
4DescriptionGitHub Advisory
Overview
A critical Remote Code Execution (RCE) vulnerability was identified in the OpenLearnX code execution environment, allowing sandbox escape and arbitrary command execution. The issue has been fixed.
AnalysisAI
Remote code execution in OpenLearnX (npm package openlearnx) before 2.0.3 lets an authenticated low-privilege user escape the Python code-execution sandbox and run arbitrary OS commands on the host. Because submitting code to the compiler/execution environment is the platform's intended feature, any user with access to that endpoint can weaponize it. Classified CWE-78 (OS command injection); no public exploit identified at time of analysis, EPSS 0.41% (61th percentile), and the flaw is fixed in 2.0.3.
Technical ContextAI
OpenLearnX is an open-source interactive coding/learning platform (Flask/Python backend, distributed via npm) that runs student-submitted code in a supposed-secure execution environment. The vulnerability is a sandbox escape in that code-execution component, mapped to CWE-78 (Improper Neutralization of Special Elements used in an OS Command), meaning user-controlled input reaches an OS-level command context. The patch commit (14765d7) reworks backend/routes/coding.py to route execution through a new 'real_compiler_service' that executes in a hardened Docker sandbox and adds security-violation logging and a dedicated execution-log stream in admin.py, indicating the pre-2.0.3 execution path did not adequately confine user code before it could invoke host commands. Affected CPE is pkg:npm/openlearnx.
RemediationAI
Vendor-released patch: 2.0.3 - upgrade the openlearnx package to 2.0.3 or later (release tag v2.0.3-security-fix), which routes code execution through the hardened Docker-based real_compiler_service and adds security-violation logging; see the advisory at https://github.com/th30d4y/OpenLearnX/security/advisories/GHSA-8h25-q488-4hxw and the fix commit https://github.com/th30d4y/OpenLearnX/commit/14765d7d1856d564747c55c5412e2f38feab079e. If immediate upgrade is not possible, restrict access to the code-execution/compiler endpoint (e.g. disable or gate the interactive code-run feature and require trusted, vetted accounts rather than open self-registration), and run the backend container with least privilege (non-root, dropped capabilities, read-only filesystem, no host network) so that any escape yields minimal host impact - with the trade-off that disabling code execution removes the platform's primary learning functionality and container hardening may break legitimate compiler features. Monitor the new execution log stream (/logs/executions) and security_logs for blocked/violation events once patched.
Same weakness CWE-78 – OS Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
GHSA-8h25-q488-4hxw