CVE-2017-7892
WysokieStreszczenie
Sandstorm Cap'n Proto w wersjach przed 0.5.3.1 pozwala na zdalne awarie związane z optymalizacją kompilatora. Zdalny atakujący może wywołać błąd segmentacji w aplikacji libcapnp 32-bitowej z powodu przepełnienia obliczeń arytmetyki wskaźników.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do zdalnego wywołania awarii aplikacji, co może prowadzić do przerwy w działaniu usług.
Rekomendacja
Zaleca się aktualizację do wersji Cap'n Proto 0.5.3.1 lub nowszej, aby zlikwidować tę podatność.
Inne podatności w Sandstorm Cap'n Proto
Zobacz wszystkie- CVE-2015-2313Wysokie
W wersjach Sandstorm Cap'n Proto przed 0.4.1.1 oraz 0.5.x przed 0.5.1.2, metoda totalSize na obiekcie readera może być wykorzystana przez zdalnych użytkowników do wywołania odmowy usługi poprzez specjalnie skonstruowaną małą wiadomość, co prowadzi do intensywnego zużycia CPU.
- CVE-2015-2312Wysokie
Sandstorm Cap'n Proto w wersjach przed 0.4.1.1 oraz 0.5.x przed 0.5.1.1 umożliwia zdalnym użytkownikom spowodowanie odmowy usługi poprzez przesłanie listy z dużą liczbą elementów.
- CVE-2015-2311Krytyczne
W Sandstorm Cap'n Proto przed wersją 0.4.1.1 oraz 0.5.x przed wersją 0.5.1.1 występuje problem z niedoborem wartości całkowitych, który może umożliwić zdalnym użytkownikom spowodowanie awarii usługi lub uzyskanie poufnych informacji z pamięci, a nawet wykonanie dowolnego kodu za pomocą odpowiednio skonstruowanej wiadomości.
- CVE-2015-2310Krytyczne
Przepełnienie całkowite w pliku layout.c++ w Sandstorm Cap'n Proto przed wersją 0.4.1.1 oraz 0.5.x przed wersją 0.5.1.1 umożliwia zdalnym użytkownikom spowodowanie odmowy usługi lub potencjalne uzyskanie poufnych informacji z pamięci poprzez spreparowaną wiadomość, związaną z walidacją wskaźników.
Oryginalny opis (angielski, źródło NVD)
Sandstorm Cap'n Proto before 0.5.3.1 allows remote crashes related to a compiler optimization. A remote attacker can trigger a segfault in a 32-bit libcapnp application because Cap'n Proto relies on pointer arithmetic calculations that overflow. An example compiler with optimization that elides a bounds check in such calculations is Apple LLVM version 8.1.0 (clang-802.0.41). The attack vector is a crafted far pointer within a message.

