ProduktBosch Rexroth AG PRI7000 – wersje ≤ 1.11.18.1
Numer CVECVE-2026-48095
Krytyczność8.8/10
CVSSAV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Opis7-Zip to archiwizator plików o wysokim współczynniku kompresji. Wersje 26.00 i starsze zawierają lukę w zabezpieczeniach związaną z przepełnieniem bufora sterty, spowodowaną niedostateczną alokacją w buforze strumienia skompresowanego NTFS (GetCuSize shift UB), co potencjalnie umożliwia atakującym wykonanie dowolnego kodu lub awarie aplikacji. Funkcja CInStream::GetCuSize() w procedurze obsługi NTFS oblicza rozmiar bufora jednostki kompresji jako (UInt32)1 << (BlockSizeLog + CompressionUnit), a spreparowany obraz z wartością ClusterSizeLog >= 28 i wartością CompressionUnit == 4 zwiększa wykładnik do 32, co jest niezdefiniowanym zachowaniem i powoduje awarię na platformach x86/x64, przez co _inBuf jest alokowany jako 1 bajt. Następnie funkcja ReadStream_FALSE zapisuje do 256 MB danych kontrolowanych przez atakującego do tego 1-bajtowego bufora w 64-kilobajtowych iteracjach. Ponieważ obiekt CInStream znajduje się zaledwie 304 bajty za _inBuf, jego wskaźnik do tablicy vtable zostaje nadpisany, a kolejne wywołanie powoduje przejęcie tablicy vtable. W kompilacjach 32-bitowych przepełnienie jest osiągane bezwarunkowo; w kompilacjach 64-bitowych wymaga równoległej alokacji 8 GB _outBuf, w przeciwnym razie kończy się to odmową usługi. Obsługa NTFS jest domyślnie włączona w standardowym pliku 7z.dll i, poprzez oparte na sygnaturach dopasowanie zapasowe „NTFS” na przesunięciu 3, otworzy spreparowany obraz niezależnie od rozszerzenia pliku podczas ekstrakcji lub testowania.
  
AktualizacjaTAK
Linkhttps://psirt.bosch.com/security-advisories/bosch-sa-466086.html