Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged LearnHouse user
-
ExploitCall submission/grade read endpoint with another user_id
-
ExecutionServer skips ownership check and returns record
-
ImpactHarvest other students' work, grades and feedback
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires a valid authenticated LearnHouse account with access to the relevant course (PR:L) - exploitation is not possible unauthenticated. The attacker then supplies another student's user_id to the assignment submission grade endpoint (get_grade_assignment_submission) or to the submission read functions (read_user_assignment_task_submissions / read_assignment_task_submissions / read_user_assignment_submissions), which before 1.1.1 lacked the non-instructor ownership check. Limiting factors: only instances running a version before 1.1.1 are affected; the flaw exposes confidentiality only (other users' submissions, grades, feedback) with no write/integrity or availability impact; and the caller must already be a logged-in user, so it is not remotely anonymous. No special non-default configuration is required - the missing check applies to the default behavior of these endpoints. |
| Impact | This is a genuine but moderate-severity access-control flaw (CWE-639, IDOR-style missing authorization), not an inflated high-CVSS issue. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) scores 5.3 Medium and aligns well with the description: a network-reachable endpoint, low attack complexity, and - critically - PR:L, meaning a valid authenticated account is required. Impact is confidentiality-only and rated Low (VC:L): an attacker reads other students' submissions, grades, and instructor feedback, with no integrity or availability impact. No EPSS score, CISA KEV listing, or confirmed public exploit code is present in the input, so there is no signal of active or widespread exploitation; the only exploitation evidence is the vendor/VulnCheck advisory and a patch. The vuln.today decision label is 'this_month' (not act_now/emergency), consistent with a medium-confidentiality, authenticated-access flaw. Signals are internally consistent - the CVSS vector, description, and source-code fix all agree that the trigger is an authenticated user supplying another user_id to submission/grade read endpoints that lacked an ownership check. Primary risk is privacy/FERPA-style exposure of student academic records rather than system compromise. |
| Exploit ScenarioDerived | An authenticated student in a LearnHouse course calls the assignment submission or grade read endpoint and substitutes a different user_id (or targets another user's submission record), causing the API to return that victim's submitted work, grade, and instructor feedback. Because the pre-patch code queried the submission by the supplied user_id without verifying it matched the caller, any logged-in user could enumerate peers' academic records. No public exploit code is identified in the input, though a public issue report (#1184) and the fixing commit/PR disclose the exact vulnerable functions. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 31, 2026
Missing authorization in the LearnHouse assignment API before version 1.1.1 lets an authenticated student read other students' assignment submissions, grades and instructor feedback by supplying a foreign user_id to the grade and submission read endpoints (CWE-639, IDOR-style user-controlled key). The exposure is confidentiality-only - no write, integrity or availability impact - and the caller must already hold a valid account that can reach the affected course, so this is not an anonymous remote compromise. No public exploit code and no confirmed active exploitation are identified in the available data, and the moderate 5.3 severity places it in a this_month remediation queue rather than an emergency patch cycle.
RemediationAI
Upgrade LearnHouse to 1.1.1, which contains commit 844a8a7787f0c42d466be604aaf47d296748b1b3 (pull request https://github.com/learnhouse/learnhouse/pull/1187); this is the release that adds the instructor-role and self-user_id ownership checks to the assignment submission and grade endpoints, and the change is referenced from issue https://github.com/learnhouse/learnhouse/issues/1184 and the VulnCheck advisory https://www.vulncheck.com/advisories/learnhouse-before-1.1.1-missing-authorization-via-assignment-submissions-api. No vendor-documented configuration workaround restores the missing authorization check, because it is enforced purely in application code, so patching is the only complete fix. Interim compensating controls, which reduce but do not eliminate exposure, are to restrict network access to the LearnHouse API to trusted networks or place the assignment grade and submission endpoints behind a reverse-proxy rule limited to known course participants, and to review API logs for requests to those endpoints carrying a user_id other than the caller's own; each of these narrows who can reach the vulnerable routes but leaves the authorization gap intact for anyone who is allowed through.
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
LearnHouse is an open-source learning management system whose API (a Python service under apps/api) uses SQLModel/SQLAlchemy-style ORM queries against course, activity and assignment tables. The CWE-639 flaw is an ownership-check gap: read_user_assignment_task_submissions, read_assignment_task_submissions, read_user_assignment_submissions and get_grade_assignment_submission all accepted a user_id parameter and queried submissions or grades for that identifier without confirming it matched the authenticated caller, and without confirming the caller held an instructor/update role on the course. Any logged-in learner could therefore substitute another student's user_id and retrieve that student's uploaded work, scores and instructor feedback. The upstream fix in commit 844a8a7787 adds authorization_verify_based_on_roles(request, current_user.id, "update", course.course_uuid, db_session) plus a direct comparison of user_id against current_user.id, returning HTTP 403 "You can only view your own submissions"/"You can only view your own grade"; get_grade_assignment_submission additionally gains a Course lookup and check_resource_access(..., AccessAction.READ) before the ownership comparison. The patch also reorders the submission-existence 404 check to run after the ownership check, which removes the 404-versus-403 signal as an enumeration oracle. The trigger is exactly this parameter substitution against the default behaviour of these endpoints; no special configuration is required, and versions from 1.1.1 onward carry the check.
Know when Learnhouse 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:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable API requiring a low-privileged authenticated account (PR:L) and no user interaction; confidentiality-only Low impact (reading others' grades/submissions), no integrity or availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
LearnHouse before 1.1.1 contains a missing authorization vulnerability in the assignment API that allows authenticated users to read other users' grades and submissions. Attackers can supply another user_id to the submissions grade endpoint or query submission read functions to view other students' work, grades and instructor feedback.
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.
More in Learnhouse
View allLearnHouse allows authenticated remote users to upload arbitrary files via unrestricted manipulation of the thumbnail pa
LearnHouse allows authenticated remote attackers to access unauthorized student assignment files through improper contro
Information disclosure in LearnHouse Image Handler component allows authenticated remote attackers to access sensitive d
Stored cross-site scripting (XSS) in LearnHouse Account Setting Page allows authenticated users to inject malicious scri
EUVD-2026-114720
GHSA-3gfx-j948-6jm4
NVD
CVE.org
EPSS
VulDB
Exploit-DB