RUSTSEC-2026-0418: libz-sys build script leaks environment variables in the build directory
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
The issue describes a security advisory for libz-sys, but does not identify a change needed in numtracker or any affected files or tests. Start by checking how numtracker depends on libz-sys and whether the affected versions are present in its dependency tree. Done means confirming whether this repository needs a dependency update or other mitigation; the issue provides no repository-specific acceptance criteria.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
libz-sys build script leaks environment variables in the build directory
| Details | |
|---|---|
| Package | libz-sys |
| Version | 1.1.29 |
| URL | https://github.com/rust-lang/libz-sys/pull/280 |
| Date | 2026-10-28 |
| Patched versions | >=1.1.31 |
| Unaffected versions | <1.0.21 |
The build script of libz-sys version <= 1.1.30 prints the full environment
of the build, including any secrets it contains, to its stdout when compiled
with [email protected] or later on a Unix host. This affects any build that depends on
libz-sys. Cargo saves build script stdout under target/, so the values end
up in anything that stores or shares the target/ directory, such as CI caches.
This is similar to the Miri issue.
Details
To decide whether to link against a system zlib, the libz-sys build script
compiles a small test program with a compiler command from cc and logs it
with:
println!("running {:?}", cmd);
On Unix, Debug impl for std::process::Command prints every environment
variable explicitly set on the command. Before [email protected], its
Tool::to_command() set only a few compiler-specific variables. Starting with
[email protected] (released 2026-10-03), Tool::to_command() clears the environment
and sets every variable explicitly.
Cargo parses build script stdout for cargo: directives, and stores the full
output in the build directory. It also prints it with -vv.
The probe runs for a default libz-sys build, including when pkg-config finds
zlib, unless one of these applies:
- the target is Windows, Android, Haiku or OpenHarmony
- static linking is requested via the
staticfeature orLIBZ_SYS_STATIC=1 - the
zlib-ngfeatures are enabled withoutstock-zlib
Mitigations
Fixed in [email protected], which no longer logs the probe command.
If you cannot upgrade, here are some workarounds:
- Build with
LIBZ_SYS_STATIC=1or thestaticfeature, which skips the probe. - Pin
ccto a release before 1.6.0 (cargo update cc --precise <version>).
Note that upgrading libz-sys does not remove values already written. If an
affected build already ran with secrets in its environment, clear CI caches and
stored artifacts containing its
target/build directory,
and consider rotating those secrets.
See advisory page for additional details.
- Linguagem predominante
- Rust
- Estrelas
- 2
- Forks
- 2
- Merge médio
- 13h 13min
- PRs com merge (30d)
- 5
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de DiamondLightSource/numtracker
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 70/100
DiamondLightSource/numtracker#309 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
DiamondLightSource/numtracker#278 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 20/100
DiamondLightSource/numtracker#326 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 20/100
DiamondLightSource/numtracker#325 ·
-
RUSTSEC-2026-0387: Multiple timing variability issues in operations intended to be constant-timeAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 1/100
DiamondLightSource/numtracker#324 ·
Todas as issues de DiamondLightSource/numtracker
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
n0-computer/iroh#4669 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
rubys/roundhouse#1950 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
cloudflare/workers-rs#1130 ·
Mantenedores costumam responder em até 11 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 69/100
vfarcic/dot-agent-deck#2160 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
RustCrypto/utils#1597 ·
Mantenedores costumam responder em até 1 dia