Rust · Time · CVE-2020-26235
**Nome do software vulnerável e versões afetadas**
Versões do time de 0.2.7 a 0.2.22
Versão 0.1 do time
**Descrição**
Sistemas operacionais do tipo Unix podem apresentar falha de segmentação devido à desreferência de um ponteiro pendente em circunstâncias específicas. Isso requer que uma variável de ambiente seja definida em uma thread diferente das funções afetadas. As funções afetadas são `time::UtcOffset::local offset at`, `time::UtcOffset::try local offset at`, `time::UtcOffset::current local offset`, `time::UtcOffset::try current local offset`, `time::OffsetDateTime::now local` e `time::OffsetDateTime::try now local`. Alvos não Unix, incluindo Windows e wasm, não são afetados.
**Recomendações**
Para as versões do time de 0.2.7 a 0.2.22, execute `cargo update` para baixar o código atualizado e não afetado.
Para a versão 0.1 do time, atualize para uma versão não afetada: time 0.2.23 ou superior, ou a série 0.3.
Como solução alternativa temporária, certifique-se de que o programa tenha apenas um thread em execução no momento da chamada de qualquer método afetado.
Os autores de binários também podem garantir que nenhum outro thread esteja alterando ativamente o ambiente.
Uma possível solução alternativa para crates afetados pela dependência transitiva em `chrono` é evitar o uso da dependência padrão do recurso `oldtime` do crate `chrono`, desativando seus `default-features` e especificando manualmente os recursos necessários.