CGit — быстрый веб-интерфейс для работы с git репозиториями, написанный на C. Используется такими проектами, как Linux, Tizen, Yocto, Musl, а также многими другими.
В CGit версий начиная с 0.8 и до (включительно) 1.2 была обнаружена уязвимость, позволяющая прочитать файлы на удаленном сервере:
$ curl http://127.0.0.1/cgit/cgit.cgi/git/objects/?path=../../../../../../../etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
[...]
Уязвимость была внесена с момента изначальной реализации клонирования git репозитория посредством http, и таким образом существовала и была доступна для эксплуатации на протяжении 10 лет. Тем не менее, нет информации о случаях эксплуатации уязвимости до её публичного раскрытия.
Уязвимость исправлена в текущей версии CGit 1.2.1, присвоен идентификатор CVE-2018-14912. Пользователям рекомендуется незамедлительно обновиться до последней версии.
>>> Подробности