stable-diffusion.cpp is a pure C/C++ library for running diffusion model (Stable Diffusion, Flux, Wan, Qwen Image, Z-Image, and more) inference. From master-742-1a13107 until master-763-4fcc6fe, IMatrixCollector::load_imatrix in src/runtime/imatrix.cpp reuses the values and counts vectors for entries with the same tensor name but resizes them only when they are empty. An untrusted .imatrix file can provide a small nval for the first entry and a larger nval for a second entry with the same name, causing the accumulation loop to write attacker-controlled floating-point and integer values beyond both heap buffers. Loading the file through the --imat-in conversion path can corrupt the heap or crash the process before a model is required. This issue is fixed in master-763-4fcc6fe.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-1284",
"CWE-787"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/70xxx/CVE-2026-70659.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "master-763-4fcc6fe"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "4fcc6fef10c6f686801c6e257b22cd6a3deb906b"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "master-763-4fcc6fe",
"range": [
{
"fixed": "4fcc6fef10c6f686801c6e257b22cd6a3deb906b"
}
],
"source": "REFERENCES_TAG"
}
]
}