W bibliotece zip-rs, napisanej w języku Rust i osiągającej około 10 mln pobrań tygodniowo, wykryto lukę (CVE-2026-115905), która umożliwia tworzenie archiwów, które wyglądają na nieszkodliwe, ale po dekompresji zawierają inne, pierwotnie niewidoczne w liście, pliki. Pliki mogą być umieszczone w archiwum poza strukturą „Central Directory”, co powoduje, że podczas przeglądania listy plików wyświetla się jedna zawartość, ale po dekompresji przez API ZipStreamReader wyciągane są inne pliki. Problemowi przypisano poziom zagrożenia 10 na 10. Luka została naprawiona w wersji zip-rs 9.0.5.
Luka jest spowodowana używaniem różnych nagłówków przy dowolnym dostępie do archiwum za pomocą API ZipArchive oraz podczas ekstrakcji danych w trybie strumieniowym przy użyciu API ZipStreamReader. Obsługiwane przez ZipArchive polega na nagłówku CDFH (Central Directory File Header), a ZipStreamReader przy ekstrakcji plików uznaje za priorytetowy nagłówek LFH (Local File Header) bez synchronizacji powtarzających się metadanych.
Luka ta może być wykorzystywana do omijania filtrów pocztowych, skanerów wirusów i innych systemów kontroli bezpieczeństwa. Atakujący może umieścić w widocznej części archiwum dokument lub obrazek, a w ukrytej umieścić plik wykonywalny z złośliwym kodem, który nie zostanie wykryty przez antywirus, ale zostanie zapisany na dysku podczas dekompresji przez użytkownika. Jako przykłady podano ataki na mikrousługi, platformy SaaS i systemy izolacji kontenerowej, podczas których przy dekompresji w katalogach z roboczymi projektami, nie stwarzających zagrożenia archiwów, na przykład z zestawami stylów, plikami tekstowymi lub obrazkami, mogą zostać nadpisane skrypty i pliki wykonywalne.
Dodatkowo można zauważyć lukę (CVE-2026-96889) w bibliotece librsvg, rozwijanej przez projekt GNOME w języku Rust. Biblioteka jest używana w GTK oraz aplikacjach GNOME do renderowania SVG, a także wykorzystywana w popularnym pakiecie NPM sharp, który ma 80 mln pobrań tygodniowo i jest używany jako zależność w prawie 11 tysiącach projektów. Luka pozwala na wykonanie własnego kodu podczas przetwarzania specjalnie przygotowanych obrazów SVG. Problem został rozwiązany w wersjach librsvg 2.56.6, 2.60.3, 2.62.4 i 2.63.1, a także w pakiecie NPM sharp 0.35.5. Wśród dotkniętych projektów znalazła się platforma PeerTube (zależność została zaktualizowana w dzisiejszym wydaniu PeerTube 8.3.2).
Do analizy XML-u, używanego w plikach SVG, w librsvg wykorzystywane są funkcje z biblioteki C libxml2. Luka jest spowodowana tym, że przy obecności w SVG zagnieżdżonych konstrukcji XML Xincludes, które zawierają duplikujące się elementy z powtarzającymi się nazwami, dochodzi do odwołania do pamięci po jej zwolnieniu. Awaria występuje, ponieważ biblioteka librsvg zwalnia pamięć zajmowaną przez elementy XML, które są nadal używane w parserze libxml2.
Źródło: opennet.ru
