В skiplist — нарушения правил аллиасинга и освобождение живого узла
24.10.2026В крейте skiplist опубликованы два бюллетеня, оба оценены в CVSS 4.0.
Нарушения аллиасинга
Четыре пути выполнения создают указатель, чьи права затем отзываются, после чего пишут через него. Miri фиксирует каждое как неопределённое поведение под моделями аллиасинга Tree Borrows и Stacked Borrows. Все четыре дефекта исправлены в 1.3.0.
Сравнитель не отвечает последовательно
Вторая проблема: OrderedSkipList, SkipSet и SkipMap могут освободить узел, который всё ещё связан, если реализация Comparator или Ord даёт разные ответы для одной пары значений в пределах одного мутирующего вызова. Последующий вызов читает освобождённую память. Также исправлено в 1.3.0.
Оригинал
RUSTSEC-2026-0408, RUSTSEC-2026-0409
Упоминаний: 0 · Просмотров: 4