Luki w frameworku sieciowym Grails i module TZInfo Ruby

W frameworku webowym Grails, przeznaczonym do tworzenia aplikacji webowych zgodnie z paradygmatem MVC w języku Java, Groovy i innych językach dla JVM, zidentyfikowano podatność pozwalającą na zdalne wykonanie kodu w środowisku, w którym działa sieć aplikacja jest uruchomiona. Luka jest wykorzystywana poprzez wysłanie specjalnie spreparowanego żądania, które daje atakującemu dostęp do ClassLoader. Problem jest spowodowany błędem w logice wiązania danych, która jest używana zarówno podczas tworzenia obiektów, jak i podczas ręcznego wiązania za pomocą bindData. Problem został rozwiązany w wersjach 3.3.15, 4.1.1, 5.1.9 i 5.2.1.

Dodatkowo możemy zauważyć lukę w module Ruby tzinfo, który umożliwia pobranie zawartości dowolnego pliku, o ile pozwalają na to prawa dostępu zaatakowanej aplikacji. Podatność wynika z braku odpowiedniego sprawdzenia obecności znaków specjalnych w nazwie strefy czasowej określonej w metodzie TZInfo::Timezone.get. Problem dotyczy aplikacji przekazujących niezweryfikowane dane zewnętrzne do TZInfo::Timezone.get. Na przykład, aby odczytać plik /tmp/payload, możesz podać wartość taką jak „foo\n/../../../tmp/payload”.

Źródło: opennet.ru

Dodaj komentarz