Skip to main content

LearnHouse EUVDEUVD-2026-97887

| CVE-2026-109564 LOW
Missing Authorization (CWE-862)
2026-10-12 disclosure@vulncheck.com GHSA-gcg2-9m45-j9r6
2.3
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as instructor with playground rights
  2. Exploit
    Call /duplicate with known restricted UUID
  3. Execution
    Server skips read/draft authorization check
  4. Impact
    Republish copied html_content publicly

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

Exploitation requires (1) an authenticated account possessing playground creation rights, such as the Instructor role (PR:L - not anonymous), and (2) prior knowledge of the exact UUID of a RESTRICTED or unpublished/draft playground owned by someone else (AT:P). The specific trigger is the POST /api/v1/playgrounds/{uuid}/duplicate endpoint, which fails to re-run the read-access and draft checks that get_playground applies. Limiting factors: only LearnHouse versions before 1.4.0 are affected; the attacker cannot act anonymously and must obtain a valid random UUID (not trivially guessable), which materially constrains opportunistic attacks; impact is limited to disclosure/republication of the playground's html_content.

Impact

This is a genuinely low-priority issue, and the signals are consistent rather than conflicting. The vendor-supplied CVSS 4.0 base score is 2.3 (Low), driven by authenticated access (PR:L), a present attack requirement (AT:P - the attacker must know a specific RESTRICTED/unpublished playground UUID), and only low confidentiality impact (VC:L) with no integrity or availability impact (VI:N/VA:N). No EPSS score, CISA KEV listing, or public POC was provided in the intelligence set, so there is no evidence of widespread or automatable exploitation. The practical risk is an insider/privilege-abuse disclosure: an already-trusted instructor-level user viewing content they were not authorized to see, not remote mass exploitation. Treat as a routine hardening fix (patch is available) rather than an emergency. Note one cross-source nuance worth stating explicitly: the input Tag labels this 'Authentication Bypass', but the CWE (CWE-862 Missing Authorization) and the description describe an AUTHORIZATION flaw - the user remains fully authenticated; only the resource-level read/draft check is skipped.

Exploit ScenarioDerived

An instructor (or other role with playground creation rights) obtains the UUID of a colleague's RESTRICTED or unpublished playground - for example from a shared link, logs, or sequential discovery - and calls POST /api/v1/playgrounds/{uuid}/duplicate. Because the endpoint skips the read-access and draft checks that get_playground enforces, the server copies the private html_content into a new playground the attacker owns, which they then republish publicly. No public exploit code was identified at time of analysis.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.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 12, 2026

LearnHouse versions before 1.4.0 contain a missing authorization flaw (CWE-862) in the playground duplication endpoint POST /api/v1/playgrounds/{uuid}/duplicate, which fails to re-apply the read-access and draft checks that the normal get_playground path enforces. An authenticated user who holds playground creation rights - for example an Instructor - and who already knows the exact UUID of someone else's RESTRICTED or unpublished playground can duplicate it, copy its html_content, and republish that content publicly. Exploitation is constrained: the attacker must be authenticated (not anonymous) and must possess a specific, non-trivial UUID, so this is a genuinely low-priority, low-impact disclosure issue rather than a broadly exploitable one; no public exploit code or confirmed active exploitation has been identified, and the fix is available in the 1.4.0 release.

RemediationAI

The primary fix is to upgrade LearnHouse to version 1.4.0 or later, which contains the corrected authorization logic for the duplicate endpoint as shipped in commit 9a1319185a596ea9b40651dbfd96f05195c0be37 (PR https://github.com/learnhouse/learnhouse/pull/1120); verify the deployed build actually includes that commit, since the advisory is framed as a pre-1.4.0 issue. If immediate upgrade is not possible, apply compensating controls that directly target the exposed behavior: block or disable the POST /api/v1/playgrounds/{uuid}/duplicate route at the reverse proxy or API gateway (trade-off: legitimate users lose the duplicate feature until patched), and review Instructor-level and other roles that grant playground creation rights, removing them from untrusted cohorts or temporarily restricting them to a small trusted set (trade-off: reduces authoring productivity). Because exploitation depends on knowing a valid playground UUID, reduce UUID leakage by ensuring RESTRICTED and draft playground UUIDs are not returned in any public listing, share link, or client-side bundle, and consider expiring or rotating share tokens; note this only raises the bar and is not a substitute for patching. Also monitor API logs for duplicate calls whose source UUID belongs to a different owner or a draft/restricted resource, and treat such events as incidents requiring content review and possible takedown of republished material.

Affected VersionsENISA

LearnHouse 0 <1.4.0

Affected Packages

euvd learnhouse fix: 1.4.0

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 a Python/FastAPI learning platform whose API exposes playground resources addressed by UUID. The vulnerable code path is the duplicate endpoint, which in affected versions returns a copy of a playground without ever calling the equivalent of the get_playground guard logic that would have (a) verified the caller has READ access to the resource and (b) rejected drafts/unpublished resources. This is a classic CWE-862 Missing Authorization defect: an existing, correctly implemented authorization check was simply not invoked on a second, equivalent entry point. The duplicate operation also re-publishes the copied html_content, so the omission converts a read guard into unauthorized content republication. The upstream fix (commit 9a1319185a596ea9b40651dbfd96f05195c0be37, PR #1120) appears to be part of a broader authorization-hardening pass in the same changeset, which also introduces a RAG access-scope builder (build_rag_access_scope) so that course/activity content reaching the AI model is limited to what the caller can read, and narrows author projections returned with courses and podcasts from UserReadPublic to a UserReadAuthor 'author chip' that strips email, is_superadmin, signup_method and extra_metadata. The assessed CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N) reflects network-reachable, authenticated, high-complexity exploitation with only low confidentiality impact and no integrity or availability impact.

Know when the next one hits your stack

  • 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 2.3 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.1 LOW

Authenticated instructor (PR:L); knowing a random target UUID is a real prerequisite (AC:H); only low confidentiality disclosure of html_content, no integrity or availability impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/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
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 12, 2026 - 22:03 EUVD

DescriptionCVE.org

LearnHouse before 1.4.0 contains a missing authorization vulnerability in POST /api/v1/playgrounds/{uuid}/duplicate that skips the read-access and draft checks enforced by get_playground. Authenticated users with playground creation rights, such as Instructors, who know a RESTRICTED or unpublished playground UUID can copy its html_content and republish it publicly.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
niche open-source LMS, limited and mostly self-hosted deployment
Social Media
1
Sightings
Data Quality
6 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 LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
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