Submit #927022: luben zstd-jni 1.5.7-13 Cross-Object Use-After-Freeinfo

Titleluben zstd-jni 1.5.7-13 Cross-Object Use-After-Free
DescriptionI was auditing the dictionary-sharing code path in zstd-jni and noticed that ZstdCompressCtx.loadDict(ZstdDictCompress dict) hands a raw native pointer to upstream zstd via ZSTD_CCtx_refCDict, but nothing tracks whether the dictionary object is still alive afterward. If the dictionary is close()d while a context that loaded it is still around, the next compress() call on that context dereferences freed native memory. I built the library from source and reproduced a real crash with a heap-spray.
Source⚠️ https://github.com/luben/zstd-jni/issues/404
User
 Yu Bao from PayPal Cyber Security Team (UID 99838)
Submission08/13/2026 07:25 (1 month ago)
Moderation09/14/2026 07:37 (1 month later)
StatusAccepted
VulDB entry403407 [luben zstd-jni up to 1.5.7-13 Dictionary Sharing ZstdCompressCtx.java ZstdCompressCtx.loadDict use after free]
Points20

Want to stay up to date on a daily basis?

Enable the mail alert feature now!