Skip to main content

ClassroomIO EUVDEUVD-2026-102508

| CVE-2026-111368 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-15 VulnCheck GHSA-j6jm-jc5p-v7pp
6.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as tutor or admin in any course
  2. Exploit
    Obtain another course's submission UUID
  3. Execution
    Send crafted PUT/DELETE with own course id
  4. Impact
    Overwrite grades/feedback or delete submission

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

Exploitation requires (1) an authenticated account already holding tutor or admin privileges in at least one course (PR:L), and (2) knowledge of a target submission's UUID belonging to a DIFFERENT course (AT:P), because the vulnerable Hono API PUT/DELETE submission handlers in ClassroomIO through 1.0.0 trust the attacker-supplied course id and fail to verify that the referenced submission UUID actually belongs to that course. Limiting factors that reduce realistic risk: the attacker must already be a privileged course staff member, and submission UUIDs are random and non-enumerable, so cross-course targeting depends on obtaining a specific victim UUID rather than guessing it; there is no unauthenticated or anonymous path and no user interaction from the victim is needed.

Impact

This is a medium-severity authorization flaw (CVSS 4.0 base 6.1) whose real-world risk is bounded by its preconditions rather than by raw reach. The provided CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N) shows a network-reachable API bug that nonetheless requires an authenticated actor holding at least tutor or admin privileges (PR:L) and an attack requirement (AT:P) - namely possession of another course's submission UUID, which is a random, non-enumerable identifier. Impact is weighted toward integrity (VI:H): an attacker can overwrite answers, grades, feedback, and grading status, or delete submissions, with only limited confidentiality (VC:L) and limited availability (VA:L) effect and no scope change (SC/SI/SA:N). No EPSS score, KEV listing, or weaponized public exploit was provided in the intelligence, so there is no evidence of active or widespread exploitation; a public technical writeup (hackmd) and the vendor patch commit exist, which raises reproducibility but does not equal in-the-wild use. Net assessment: this is a legitimate insider/privilege-abuse and multi-tenant data-integrity concern for organizations running multiple courses on ClassroomIO, but it is NOT a drive-by, unauthenticated, mass-exploitation priority - it should be patched on a normal schedule, prioritized higher where tutor/admin accounts are loosely provisioned.

Exploit ScenarioDerived

A user who legitimately holds a tutor or admin role in one ClassroomIO course obtains the UUID of a submission belonging to a different course (via leakage, shared tooling, or prior access). They send a PUT or DELETE request to the Hono API submission route supplying their OWN course id together with the victim course's submission UUID; because the handler trusts the user-controlled course id instead of verifying the submission actually belongs to it, the attacker overwrites grades/feedback or deletes the submission. A detailed public writeup describing the flaw exists, but no weaponized exploit was reported in the provided data.

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 15, 2026

Cross-course submission tampering in ClassroomIO through 1.0.0 lets an authenticated course tutor or admin overwrite answers, grades, feedback and grading status - or delete submissions outright - in courses they are not assigned to teach. The Hono API PUT and DELETE submission handlers accept a caller-supplied course id alongside a submission UUID and never verify that the submission actually belongs to that course (CWE-639), so any staff account holding tutor/admin privileges in at least one course can reach other courses' submissions if it knows the target UUID. Exploitation therefore requires authenticated privileged access plus a random, non-enumerable submission UUID (AT:P), and there is no anonymous or unauthenticated path; no public exploit identified at time of analysis, though a public technical writeup documents the flaw.

RemediationAI

The fix exists upstream as commit 1844ad9671a0d9c2566d3431d82f34d39016242c (https://github.com/classroomio/classroomio/commit/1844ad9671a0d9c2566d3431d82f34d39016242c), which introduces server-side ownership verification in the submission path together with a cohort-tutor submission access regression suite; because no tagged patched release is confirmed, self-hosted operators should build and deploy from a commit at or after this one rather than trusting the 1.0.0 release artifact. Pending that, the highest-value compensating controls are to enforce submission-to-course ownership checks in a maintained fork (this is the only true fix), to keep tutor/admin role grants tightly scoped to the courses each staff member actually teaches so an over-provisioned or compromised staff account cannot pivot to unrelated courses, and to reduce exposure of submission UUIDs in API responses, exports and client-side payloads, since the attack depends on obtaining a specific victim UUID rather than guessing one (AT:P) - tightening UUID exposure lowers the practical exploitability of an unpatched instance. Operators can additionally alert on PUT/DELETE calls to the course submission endpoints where the authenticated account's course membership does not match the targeted course id. Blanket-blocking the submission routes is not a workaround, as it disables legitimate grading and feedback workflows, and log monitoring alone does not prevent the integrity impact. The upstream repository (https://github.com/classroomio/classroomio) and the VulnCheck advisory should be tracked for an official tagged release.

Affected VersionsENISA

ClassroomIO 0 ≤1.0.0

Affected Packages

euvd classroomio no fix

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

ClassroomIO is a self-hostable teaching platform whose API is built on the Hono web framework with Drizzle ORM over PostgreSQL. The vulnerability is an instance of CWE-639 (Authorization Bypass Through User-Controlled Key): the course submission routes in apps/api/src/routes/course/submission.ts take the course identifier from the request and pass it into the submission query layer at packages/db/src/queries/submission/submission.ts (lines 217-245 of the v1.0.0 tag), where the update/delete operations are scoped by that attacker-controlled course id rather than by the submission's true parent course. Because the lookup keys on the supplied course id plus the supplied submission UUID, an actor who is legitimately a tutor or admin for one course (PR:L) can present their own course id together with another course's submission UUID and have the write authorized, corrupting answer bodies, grades, feedback text and grading status, or removing the record entirely (integrity impact rated High, availability Low, confidentiality Low). The fix commit 1844ad9671a0d9c2566d3431d82f34d39016242c adds explicit ownership scoping in the handler/query path plus a regression test file (apps/api/src/__tests__/cohort-tutor-submission-access.test.ts) that exercises cohort-tutor submission access boundaries, confirming that authorization - not input sanitization - is the root cause class here.

Know when Classroomio 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 (VulnCheck) PRIMARY 6.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N
vuln.today AI 6.4 MEDIUM

Network API but requires a tutor/admin account (PR:L) and knowledge of a hard-to-guess cross-course submission UUID (AC:H); integrity-dominant (I:H) since grades/submissions can be overwritten or deleted, with limited C/A.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

ClassroomIO through 1.0.0 contains an insecure direct object reference vulnerability in the Hono API course submission routes that allows course tutors or admins to modify submissions in other courses. Attackers can supply their own course id with another course's submission UUID to PUT or DELETE handlers to overwrite answers, grades, feedback, and grading status or delete submissions.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche open-source learning platform, limited enterprise deployment footprint
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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