Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-gfgm-chr3-x6px

Опубликовано: 30 дек. 2022
Источник: github
Github: Прошло ревью

Описание

prettytable-rs: Force cast a &Vec to &[T] may lead to undefined behavior

In function Table::as_ref, a reference of vector is force cast to slice. There are multiple problems here:

  1. To guarantee the size is correct, we have to first do Vec::shrink_to_fit. The function requires a mutable reference, so we have to force cast from immutable to mutable, which is undefined behavior (UB).
  2. Even if (1) is sound, &Vec<T> and &[T] still might not have the same layout. Treating them equally may lead to undefinted behavior (UB).

Пакеты

Наименование

prettytable-rs

rust
Затронутые версииВерсия исправления

< 0.10.0

0.10.0