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. In versions prior to master-584-0a7ae07, the pickle .ckpt parser in src/model.cpp contained a heap buffer overflow vulnerability in the 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. 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 only loading .ckpt checkpoint files from trusted sources and preferring 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-122: Heap-based Buffer Overflow

CWE-787: Out-of-bounds Write

Product status

< master-584-0a7ae07
affected

References

github.com/...on.cpp/security/advisories/GHSA-mghm-5mqc-pwmp

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

github.com/...ommit/0a7ae07f948eff4611968a65a22bd7c7031ad74f

cve.org (CVE-2026-47747)

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

Download JSON