CVE-2024-7884 in ic-cdkinformación

Resumen

por MITRE • 2024-09-05

Cuando se llama a un método de contenedor a través de ic_cdk::call* , se crea un nuevo Future CallFuture y el llamador puede esperar para obtener el resultado de la ejecución. Internamente, el estado del Future se rastrea y se almacena en una estructura llamada CallFutureState. Un error en la implementación de sondeo de CallFuture permite que se mantengan múltiples referencias para este estado interno y no todas las referencias se descartaron antes de que se resolviera el Future. Dado que tenemos referencias no contabilizadas retenidas, una copia del estado interno terminó siendo persistente en el montón del contenedor y, por lo tanto, causó una pérdida de memoria. Impacto Los contenedores creados en Rust con ic_cdk e ic_cdk_timers se ven afectados. Si estos contenedores llaman a un método de contenedor, usan temporizadores o latidos, es probable que pierdan una pequeña cantidad de memoria en cada una de esas operaciones. En el peor de los casos, esto podría provocar el agotamiento de la memoria del montón activado por un atacante. Los contenedores basados en Motoko no se ven afectados por el error. ParchesEl parche ha sido retroportado a todas las versiones menores entre >= 0.8.0, <= 0.15.0. Las versiones parcheadas disponibles son 0.8.2, 0.9.3, 0.10.1, 0.11.6, 0.12.2, 0.13.5, 0.14.1, 0.15.1 y sus versiones anteriores han sido eliminadas. Workarounds, no hay soluciones workarounds en este momento. Se recomienda a los desarrolladores que actualicen su contenedor lo antes posible a la última versión parcheada disponible de ic_cdk para evitar quedarse sin memoria del montón de Wasm. Actualizar los contenedores (sin actualizar `ic_cdk`) también libera la memoria filtrada, pero es solo una solución temporal.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Dfinity

Reservar

2024-08-16

Divulgación

2024-09-05

Moderación

aceptado

Artículo

VDB-276647

CPE

listo

EPSS

0.00693

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!