Vulnerabilidades en el gestor de paquetes Cargo, utilizado para proyectos en el lenguaje Rust

En el gestor de paquetes Cargo, utilizado para la gestión de paquetes y la compilación de proyectos en el lenguaje Rust, se han detectado dos vulnerabilidades que pueden ser explotadas al descargar paquetes especialmente diseñados de repositorios externos (se afirma que los usuarios del repositorio oficial crates.io no se vieron afectados). La primera vulnerabilidad (CVE-2022-36113) permite sobrescribir los primeros dos bytes de cualquier archivo, en la medida en que lo permitan los permisos actuales. La segunda vulnerabilidad (CVE-2022-36114) puede ser utilizada para agotar el espacio libre en disco.

Las vulnerabilidades serán corregidas en la versión de Rust 1.64, programada para el 22 de septiembre. Se ha asignado un nivel de peligro bajo a las vulnerabilidades, ya que un daño similar al utilizar paquetes no verificados de repositorios externos puede ser causado mediante la funcionalidad estándar de ejecutar sus propios controladores desde los scripts de construcción o macros procedimentales entregados con el paquete. Sin embargo, los problemas mencionados anteriormente se diferencian en que su explotación ocurre en la etapa de descompresión del paquete después de la descarga (sin compilación).

En particular, después de descargar un paquete, Cargo descomprime su contenido en el directorio ~/.cargo y guarda el indicador de éxito de la descompresión en el archivo .cargo-ok. La esencia de la primera vulnerabilidad es que el creador del paquete puede colocar un enlace simbólico llamado .cargo-ok, lo que llevará a escribir el texto 'ok' en el archivo al que apunta el enlace.

La segunda vulnerabilidad se debe a la falta de una restricción sobre el tamaño de los datos extraídos del archivo, lo que puede ser utilizado para crear 'zip bombs' (en el archivo se pueden colocar datos que permiten lograr el máximo grado de compresión para el formato zip, cerca de 28 millones de veces; en este caso, por ejemplo, un archivo zip especialmente preparado de 10 MB llevará a la descompresión de aproximadamente 281 TB de datos).

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster