CVE-2026-43622
Full vulnerability record from the local CVENow database.
Description
llama.cpp builds b1886 through b7445 contain a double free vulnerability in the LLaMA-Android JNI wrapper where new_1batch() allocates memory using malloc() while free_1batch() deallocates it using the C++ delete operator, causing heap metadata corruption. Attackers can trigger this memory management mismatch to cause denial of service through process crashes or potentially achieve arbitrary code execution depending on allocator state.
Severity
HIGH
CVSS score
8.5
(v4.0)
Vulnerability status
Analyzed
Source identifier
Published
2026-08-06 16:16:42.883000
Last modified
2026-10-29 21:17:23.180000
View original CVE JSON
{
"id": "CVE-2026-43622",
"sourceIdentifier": "[email protected]",
"published": "2026-08-06T16:16:42.883",
"lastModified": "2026-10-29T21:17:23.180",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "llama.cpp builds b1886 through b7445 contain a double free vulnerability in the LLaMA-Android JNI wrapper where new_1batch() allocates memory using malloc() while free_1batch() deallocates it using the C++ delete operator, causing heap metadata corruption. Attackers can trigger this memory management mismatch to cause denial of service through process crashes or potentially achieve arbitrary code execution depending on allocator state."
},
{
"lang": "es",
"value": "Las compilaciones b1886 a b7445 de llama.cpp contienen una vulnerabilidad de doble liberación en el wrapper JNI de LLaMA-Android donde new_1batch() asigna memoria usando malloc() mientras que free_1batch() la desasigna usando el operador delete de C++, causando corrupción de metadatos del heap. Los atacantes pueden activar esta inconsistencia en la gestión de memoria para causar denegación de servicio a través de fallos del proceso o potencialmente lograr ejecución de código arbitrario dependiendo del estado del asignador."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "ggml-org",
"product": "llama.cpp",
"defaultStatus": "unaffected",
"versions": [
{
"version": "b1886",
"lessThanOrEqual": "b7445",
"versionType": "custom",
"status": "affected"
},
{
"version": "5c0d18881e0e9794c96b2602736b758bac9d9388",
"versionType": "git",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV40": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "4.0",
"vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/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",
"baseScore": 8.5,
"baseSeverity": "HIGH",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"userInteraction": "PASSIVE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"subAvailabilityImpact": "NONE",
"exploitMaturity": "NOT_DEFINED",
"confidentialityRequirement": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"availabilityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"valueDensity": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED"
}
}
],
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.8,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-06T18:31:47.983642Z",
"id": "CVE-2026-43622",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-415"
},
{
"lang": "en",
"value": "CWE-762"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:ggml:llama.cpp:*:*:*:*:*:*:*:*",
"versionStartIncluding": "b1886",
"versionEndIncluding": "b7445",
"matchCriteriaId": "705D1F59-D387-4A8D-8A68-C87950E4AA5A"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/Vladimir-tokarev-cyera/llama-cpp-security-patches",
"source": "[email protected]",
"tags": [
"Patch",
"Third Party Advisory"
]
},
{
"url": "https://github.com/ggml-org/llama.cpp/commit/5c0d18881e0e9794c96b2602736b758bac9d9388",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/ggml-org/llama.cpp/releases/tag/b7446",
"source": "[email protected]",
"tags": [
"Patch",
"Release Notes",
"Vendor Advisory"
]
},
{
"url": "https://www.vulncheck.com/advisories/llama-cpp-b1886-b7445-double-free-via-llama-android-cpp",
"source": "[email protected]",
"tags": [
"Patch",
"Third Party Advisory"
]
}
]
}