El borrow checker de Rust esconde un fallo de soundness que lleva más de una década sin detectarse

11 year old unsoundness bugs found in Rust borrow checker

El borrow checker de Rust esconde un fallo de soundness que lleva más de una década sin detectarse

Un issue abierto en el repositorio de Rust revela que las restricciones de lifetime de un struct pueden eludirse mediante asignaciones a campos covariantes. El código de ejemplo compila y permite leer memoria liberada, con fallos confirmados por AddressSanitizer. El fallo afecta a versiones estables desde al menos Rust 1.85.0, y algunos colaboradores señalan que variantes del problema existen desde 1.4.

Mi versión del código compila desde la 1.18.0 (2017). ¿Cómo diablos no se había encontrado esto antes?

Más de este día

2026-10-13