Uwaga!!! Dziura w Git Client i Server

By | 18 marca 2016

Okazało się, że w oprogramowaniu do obsługi Git (zarówno w kliencie jak i serwerze) znajduje się bug, który umożliwia wykonanie kodu w kontekście maszyny używającej tego oprogramowania.

Na czym polega problem? W trakcie wykonywania polecenia push lub clone wywoływana jest procedura mająca błąd, która przy obsłudze dużych plików może zapisać treść repozytorium w niezaalokowanym obszarze pamięci (poprzez przepełnienie sterty). To daje nam drogę do umieszczenia w pamięci assembly, które może być potem uruchomione bez nadzoru. Podatność została zarejestrowana pod numerem CVE‑2016‑2315. Warto zajrzeć tutaj. Wyjaśniony jest dokładnie problem w kodzie Git’a.

Błąd znajduje się we wszystkich wersjach niższych niż 2.7.4. Wcześniej podawano, że dziura została załatana już w wersji 2.7.1 oraz 2.7.3, ale zgodnie z tym co jest napisane tutaj żaden z fixów od wersji 2.7.0 nie był wrzucany do gałęzi master, więc poprawki nie szły do publikacji. Z tego co widzę w wersji 2.7.4 poprawka już jest.

Jeszcze jedna ważna rzecz. Git jest wbudowany w wiele różnego rodzaju oprogramowania, których autorzy nie zawsze szybko reagują na poprawki. gerrit‑gc, BitBucket czy GitLab nadal mogą mieć te dziurę.

Pozdrawiam bezpiecznie…

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *