Podatność w bibliotece xcb dla języka Rust pozwala na naruszenie zasad bezpieczeństwa pamięci (soundness violation) poprzez przetwarzanie niezwalidowanych danych z serwera X. Może to prowadzić do poważnych konsekwencji dla integralności, poufności i dostępności aplikacji.
▸ Pokaż oryginał (EN)
An issue was discovered in the xcb crate through 2021-02-04 for Rust. It has a soundness violation because xcb::xproto::GetAtomNameReply::name() calls std::str::from_utf8_unchecked() on unvalidated bytes from an X server.
Funkcja xcb::xproto::GetAtomNameReply::name() wywołuje std::str::from_utf8_unchecked() na bajtach otrzymanych bezpośrednio z serwera X, bez uprzedniej weryfikacji ich poprawności jako UTF-8. Rust gwarantuje, że wartości typu &str są zawsze prawidłowym UTF-8 — ominięcie tej weryfikacji łamie fundamentalny kontrakt bezpieczeństwa języka. Jeśli serwer X zwróci nieprawidłowe dane, może to prowadzić do niezdefiniowanego zachowania programu (undefined behavior), co w praktyce może być wykorzystane przez kontrolujący serwer X podmiot.
Atakujący kontrolujący serwer X może doprowadzić do niezdefiniowanego zachowania aplikacji klienckiej, co potencjalnie umożliwia naruszenie poufności, integralności danych oraz dostępności aplikacji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się aktualizację biblioteki xcb do wersji wolnej od podatności wskazanej w poradniku RUSTSEC-2021-0019.
Biblioteka xcb (crate dla języka Rust) w wersjach opublikowanych do 2021-02-04 włącznie.
Podatność sklasyfikowana jako naruszenie soundness (CWE-252 — unchecked return value), co w ekosystemie Rust oznacza złamanie gwarancji bezpieczeństwa pamięci zapewnianych przez kompilator. Szczegóły opublikowane w bazie RustSec pod identyfikatorem RUSTSEC-2021-0019.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HXcb Project Xcb
APPXcb Project≤ 2021-02-04
Powiązane podatności
Naruszenie poprawności typów (soundness violation) w bibliotece xcb dla Rust
Out-of-bounds read w Rust crate xcb — naruszenie soundness
An issue was discovered in the xcb crate through 2021-02-04 for Rust. It has a soundness violation because tra...
An issue was discovered in the xcb crate through 2020-12-10 for Rust. base::Error does not have soundness. Bec...