LearnHouse before 1.4.0 Missing Authorization via Playground Duplicate Endpoint
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.
- Products
- LearnHouse
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-109564
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 08:05 UTC · Revision 2
Source evidence
LearnHouse before 1.4.0 Missing Authorization via Playground Duplicate Endpoint
core-cve · Original sourcePublished 12 Oct 2026, 20:55 UTC
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.
cve:CVE-2026-109564
LearnHouse
Fixed versions: Not specified
Complete source record
{
"id": "3fa9aac5b74ca8dd10ead1fa1648b86a9dca8a577a51275b9403d563c274c848",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-109564",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "LearnHouse before 1.4.0 Missing Authorization via Playground Duplicate Endpoint",
"summary": "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.",
"evidence": "cve:CVE-2026-109564",
"products": [
{
"name": {
"value": "LearnHouse",
"evidence": "/containers/cna/affected/0/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "low",
"structured": {
"id": "CVE-2026-109564",
"aliases": [
"CVE-2026-109564"
],
"metrics": [
{
"format": "CVSS",
"cvssV4_0": {
"version": "4.0",
"baseScore": 2.3,
"attackVector": "NETWORK",
"baseSeverity": "LOW",
"vectorString": "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",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"privilegesRequired": "LOW",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "LOW"
}
},
{
"format": "CVSS",
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 3.1,
"attackVector": "NETWORK",
"baseSeverity": "LOW",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "LOW",
"confidentialityImpact": "LOW"
}
}
],
"affected": [
{
"repo": "https://github.com/learnhouse/learnhouse",
"vendor": "learnhouse",
"product": "LearnHouse",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "1.4.0",
"versionType": "custom"
},
{
"status": "unaffected",
"version": "1.4.0",
"versionType": "custom"
}
],
"packageURL": "pkg:github/learnhouse/learnhouse",
"defaultStatus": "unaffected"
}
],
"modified": "2026-10-27T01:30:43.708Z",
"provider": "cve",
"references": [
"https://github.com/learnhouse/learnhouse/pull/1120",
"https://github.com/learnhouse/learnhouse/commit/9a1319185a596ea9b40651dbfd96f05195c0be37",
"https://github.com/learnhouse/learnhouse",
"https://www.vulncheck.com/advisories/learnhouse-before-1.4.0-missing-authorization-via-playground-duplicate-endpoint"
],
"provider_metadata": {
"adp": [
{
"title": "CISA ADP Vulnrichment",
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2026-109564",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-10-13T15:48:40.620253Z"
}
}
}
],
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-10-13T16:46:42.257Z"
}
}
],
"cna": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-10-27T01:30:43.708Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-109564",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": "/containers/cna/metrics"
},
"source_id": "core-cve",
"document_id": 374636,
"published_at": "2026-10-12T20:55:17.509+00:00"
}