Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as instructor with playground rights
-
ExploitCall /duplicate with known restricted UUID
-
ExecutionServer skips read/draft authorization check
-
ImpactRepublish 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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 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
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
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.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.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
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.
EUVD-2026-97887
GHSA-gcg2-9m45-j9r6
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB