| 标题 | luben zstd-jni 1.5.7-13 Cross-Object Use-After-Free |
|---|
| 描述 | I 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. |
|---|
| 来源 | ⚠️ https://github.com/luben/zstd-jni/issues/404 |
|---|
| 用户 | Yu Bao from PayPal Cyber Security Team (UID 99838) |
|---|
| 提交 | 2026-08-13 07時25分 (1 月前) |
|---|
| 管理 | 2026-09-14 07時37分 (1 month later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 403407 [luben zstd-jni 直到 1.5.7-13 Dictionary Sharing ZstdCompressCtx.java ZstdCompressCtx.loadDict 内存损坏] |
|---|
| 积分 | 20 |
|---|