Home

Description

stable-diffusion.cpp is a pure C/C++ library for running diffusion model (Stable Diffusion, Flux, Wan, Qwen Image, Z-Image, and more) inference. Versions prior to master-584-0a7ae07 are vulnerable to heap buffer overflow in SHORT_BINUNICODE parsing for PyTorch checkpoint files. The pickle .ckpt parser in src/model.cpp contained a heap buffer overflow vulnerability in the SHORT_BINUNICODE opcode handler. The issue was caused by sign confusion on the opcode length field. A crafted .ckpt file could trigger memcpy with a very large length derived from a negative signed value, causing immediate heap corruption. Any application using affected stable-diffusion.cpp releases to load untrusted .ckpt model files could be vulnerable. A malicious checkpoint file could cause heap corruption through memcpy with an attacker-controlled length. This may lead to process crash and could potentially be leveraged for code execution depending on heap layout. The attack requires the victim or application to load a .ckpt file from an untrusted source, such as a downloaded model from a model sharing site. The issue has been resolved in version master-584-0a7ae07. If developers are unable to immediately update their applications they can work around this issue by not loading .ckpt checkpoint files from untrusted sources, and referring to trusted model sources and safer formats such as .safetensors where possible.

PUBLISHED Reserved 2026-05-19 | Published 2026-06-16 | Updated 2026-06-16 | Assigner GitHub_M




HIGH: 7.8CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Problem types

CWE-787: Out-of-bounds Write

CWE-122: Heap-based Buffer Overflow

Product status

< master-584-0a7ae07
affected

References

github.com/...on.cpp/security/advisories/GHSA-2c29-5hxg-fv9g exploit

github.com/...on.cpp/security/advisories/GHSA-2c29-5hxg-fv9g

github.com/leejet/stable-diffusion.cpp/pull/1443

github.com/...ommit/0a7ae07f948eff4611968a65a22bd7c7031ad74f

cve.org (CVE-2026-47749)

nvd.nist.gov (CVE-2026-47749)

Download JSON