RUSTSEC-2026-0400: Use-after-free of a dictionary after a one-shot call on a context with an open stream
Los mantenedores suelen responder en 4 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
The report describes a use-after-free in zstd-safe one-shot calls when a context has an unfinished stream, but it does not identify files or tests in this repository. First trace where the client uses DCtx or CCtx and how it mixes one-shot and streaming operations. Done means establishing whether this project can hit the reported pattern and, if so, adding coverage and handling it safely.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
| Details | |
|---|---|
| Package | zstd-safe |
| Version | 5.0.2+zstd.1.5.2 |
| Warning | unsound |
| URL | https://github.com/gyscos/zstd-rs/commit/d34502a0ed07f80ab2aa4c65059578e0466f2467 |
| Patched Versions | >=8.2.0 |
| Unaffected Versions | <3.0.1 |
The 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.
- Lenguaje dominante
- Rust
- Estrellas
- 10
- Forks
- 8
- Merge medio
- 6 d 3 h
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bitcoindevkit/electrum_streaming_client
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
bitcoindevkit/electrum_streaming_client#68 ·
Los mantenedores suelen responder en 4 días
-
RUSTSEC-2026-0386: `AsyncFd::new` and related constructors violate I/O safetyPosiblemente ocupada @noahjoeris la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
bitcoindevkit/electrum_streaming_client#57 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
bitcoindevkit/electrum_streaming_client#56 ·
Los mantenedores suelen responder en 4 días
-
GetTx documentationAbiertodocumentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
bitcoindevkit/electrum_streaming_client#29 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 40/100
bitcoindevkit/electrum_streaming_client#67 ·
Los mantenedores suelen responder en 4 días
Todos los issues de bitcoindevkit/electrum_streaming_client
Issues similares
-
good first issue help wanted r-docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
servo/rust-smallvec#824 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
superradcompany/microsandbox#1974 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
priority middle
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
KATO-Hiro/AtCoderClans#12940 ·
Los mantenedores suelen responder en 1 día