В Rust обнаружена 11-летняя уязвимость в проверке заимствований
В Rust обнаружена 11-летняя уязвимость в проверке заимствований Компилятор Rust пропускает программу, содержащую дыру в системе типов. Ождалось, что код не будет скомпилирован, но вместо этого программа успешно компилируется и выводит строку. Включение AddressSanitizer приводит к падению с ошибкой stack-use-after-scope. Баг обнаружен в ночных сборках и стабильных версиях Rust как минимум с 1.85.0. Разработчик, нашедший уязвимость, отмечает, что соответствующий код компилировался без ошибок с версии 1.18.0, выпущенной в 2017 году. Команда Rust присвоила ошибке максимальный приоритет и категорию «несоответствие безопасности» (unsoundness). Проблема связана с проверкой заимствований и деструкторами. 🔥 Больше новостей: наш ТГ