PT-2024-38658 · Ic Cdk · Ic Cdk

CVE-2024-7884

·

Publicado

2024-09-05

·

Atualizado

2024-09-12

CVSS v4.0

8.7

Alta

VetorAV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Nome do software vulnerável e versões afetadas
ic cdk versões 0.8.0 a 0.15.0
Descrição
Um bug na implementação de polling do CallFuture permite que múltiplas referências sejam mantidas para o estado interno, e nem todas as referências são liberadas antes que o Future seja resolvido, causando um vazamento de memória. Os canisters criados em Rust com ic cdk e ic cdk timers são afetados. Se esses canisters chamarem um método de canister, usarem temporizadores ou heartbeat, provavelmente haverá um pequeno vazamento de memória a cada operação desse tipo. Na pior das hipóteses, isso poderia levar ao esgotamento da memória heap, desencadeado por um invasor. Os canisters baseados em Motoko não são afetados pelo bug.
Recomendações
Para resolver o problema, atualize para a versão corrigida mais recente disponível do ic cdk, como 0.8.2, 0.9.3, 0.10.1, 0.11.6, 0.12.2, 0.13.5, 0.14.1 ou 0.15.1. Atualizar os canisters sem atualizar o ic cdk também libera a memória vazada, mas é apenas uma solução temporária.

Exploit

Correção

Memory Leak

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-7884
GHSA-RWQ6-CRJG-9CPW
RUSTSEC-2024-0372

Produtos afetados

Ic Cdk