CVE-2026-108751
MoAI-ADK through 3.1.2 contains an improper link resolution vulnerability in the moai init template deployer that allows malicious repositories to overwrite files outside the project via a symlinked .moai-tmp staging path. Attackers can commit a symlink such as .claude/settings.json.moai-tmp so atomicWriteFile truncates and overwrites victim-writable files with MoAI template content.
CVSS
- Base score
- 4.8
- Version
- 4.0
- Vector
- CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days
- 0.14 %
- Percentile among all scored CVEs
- 3
- Score date
- 10/20/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
ATT&CK techniques
How this vulnerability is exploited and what the attacker gains, in MITRE ATT&CK terms.
- Exploitation
T1203Exploitation for Client Executionexecution85 % - Primary impact
T1565.001Stored Data Manipulationimpact80 % - Secondary impact
T1068Exploitation for Privilege Escalationprivilege escalation70 %
AV:L + UI:P indica ejecución en cliente (T1203): abrir proyecto malicioso. Impacto principal es manipulación de datos (symlink sobrescribe archivos). Escalada potencial si afecta archivos de privilegios.
Inferred by our analysis agent from the official description, CVSS vector and CWE, and checked by a supervisor. May contain errors.
ATT&CK mitigations that cover these techniques
Affected technologies (1)
⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.
CWEs
- CWE-59
References
Show 6 references
- https://github.com/modu-ai/moai-adk
- https://github.com/modu-ai/moai-adk/blob/4b2f203feda9c2cb6d7771969f4ec966842c8732/internal/template/deployer.go#L160-L203
- https://github.com/modu-ai/moai-adk/blob/4b2f203feda9c2cb6d7771969f4ec966842c8732/internal/template/deployer.go#L19-L32
- https://hackmd.io/@haind/moai-adk-template-staging-symlink-overwrite
- https://www.vulncheck.com/advisories/moai-adk-through-3.1.2-symlink-following-via-moai-init-template-deployer
- https://hackmd.io/@haind/moai-adk-template-staging-symlink-overwrite
Raw JSON (NVD)
Show
{
"id": "CVE-2026-108751",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-108751",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-10-13T13:31:50.670380Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "disclosure@vulncheck.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 4.4,
"attackVector": "LOCAL",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "LOW",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
},
"impactScore": 2.5,
"exploitabilityScore": 1.8
}
],
"cvssMetricV40": [
{
"type": "Secondary",
"source": "disclosure@vulncheck.com",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 4.8,
"Automatable": "NOT_DEFINED",
"attackVector": "LOCAL",
"baseSeverity": "MEDIUM",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"exploitMaturity": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "PASSIVE",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "LOW",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "LOW",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"confidentialityRequirement": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED"
}
}
]
},
"affected": [
{
"source": "disclosure@vulncheck.com",
"affectedData": [
{
"repo": "https://github.com/modu-ai/moai-adk",
"vendor": "modu-ai",
"product": "moai-adk",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver",
"lessThanOrEqual": "3.1.2"
}
],
"packageURL": "pkg:github/modu-ai/moai-adk",
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-10-11T13:17:19.957",
"references": [
{
"url": "https://github.com/modu-ai/moai-adk",
"source": "disclosure@vulncheck.com"
},
{
"url": "https://github.com/modu-ai/moai-adk/blob/4b2f203feda9c2cb6d7771969f4ec966842c8732/internal/template/deployer.go#L160-L203",
"source": "disclosure@vulncheck.com"
},
{
"url": "https://github.com/modu-ai/moai-adk/blob/4b2f203feda9c2cb6d7771969f4ec966842c8732/internal/template/deployer.go#L19-L32",
"source": "disclosure@vulncheck.com"
},
{
"url": "https://hackmd.io/@haind/moai-adk-template-staging-symlink-overwrite",
"source": "disclosure@vulncheck.com"
},
{
"url": "https://www.vulncheck.com/advisories/moai-adk-through-3.1.2-symlink-following-via-moai-init-template-deployer",
"source": "disclosure@vulncheck.com"
},
{
"url": "https://hackmd.io/@haind/moai-adk-template-staging-symlink-overwrite",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "disclosure@vulncheck.com",
"description": [
{
"lang": "en",
"value": "CWE-59"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "MoAI-ADK through 3.1.2 contains an improper link resolution vulnerability in the moai init template deployer that allows malicious repositories to overwrite files outside the project via a symlinked .moai-tmp staging path. Attackers can commit a symlink such as .claude/settings.json.moai-tmp so atomicWriteFile truncates and overwrites victim-writable files with MoAI template content."
}
],
"lastModified": "2026-10-16T19:18:44.867",
"sourceIdentifier": "disclosure@vulncheck.com"
}