Use-after-free of a dictionary after a one-shot call on a context with an open stream
Exact source revision recorded 26 Oct 2026 14:35:44 UTC. It does not establish the source's current position. Latest evidence.
osv · RUSTSEC-2026-0400
PublishedThe one-shot `DCtx` and `CCtx` methods assumed the C library resets the context, but it leaves an open stream as it is. When a stream was left unfinished on a context, a one-shot call such as `decompress_using_dict` could leave the context pointing at the dictionary borrowed for that call, and the next streaming call resumed the stream against it after it was freed: decompressed output then contained freed heap memory. On the compression side, the stream resumed against the one-shot call's buffers. This requires an application to use one context for both streaming and one-shot calls without a reset in between. The flaw was corrected by resetting the session after one-shot calls whenever a stream may be open.
- Source published
- 16 Oct 2026 12:00:00 UTC
- Source modified
- 26 Oct 2026 14:00:05 UTC
- Observed here
- 26 Oct 2026 14:35:44 UTC
- Source terms
- OSV · upstream source license applies
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · OSV · upstream source license applies. Source text is retained; field grouping and change labels are provided by ChangeIntel.