Демон (daemon) – это компьютерная программа в системах класса UNIX, запускаемая самой системой и работающая в фоновом режиме без прямого взаимодействия с пользователем. Демоны обычно запускаются во время загрузки системы. Типичные задачи демонов: серверы сетевых протоколов (HTTP, FTP, электронная почта и др.), управление оборудованием, поддержка очередей печати, управление выполнением заданий по расписанию и т.д. В техническом смысле демоном считается процесс, который не имеет управляющего терминала. Quagga является одним из наиболее распространенных BGP-демонов для UNIX-подобных ОС, обеспечиваю глобальную доступность операторов связи. Данная реализация протокола BGP в том числе используется, в решениях таких вендоров, как Cumulus и Vyatta.
Уязвимость устроена следующим образом. Функция bgp_dump_routes_func, отвечающая за представление в бинарном виде маршрутной информации для отдельного префикса, не выполняет проверку размера этой информации. Она пытается записать все данные в массив, который имеет ограниченный размер. Если свободного места недостаточно, то возникает исключительная ситуация и происходит отказ bgpd.
Инженеры Qrator Labs обнаружили данную уязвимость в рамках работы над проектом Qrator.Radar, изучая нестабильность работы реализации протокола BGP в Quagga.
Команда Qrator Labs самостоятельно написала патч для устранения уязвимости в BGP-демоне Quagga и направила его разработчикам программного обеспечения. Если раньше все префиксы, полученные от соседей, агрегировались в одну запись, которая может не поместиться в определенный буфер, то теперь создается несколько записей с контролем их размера.
Разработчики Quagga ответили, что собираются принять патч в рамках следующего цикла обновления. Однако, на данный момент проблема не исправлена и, поскольку она представляет собой серьезную угрозу, Qrator Labs опубликовала информацию об уязвимости на общедоступном сайте. Уязвимости была присвоена маркировка CVE-2016-4049.
«Наша компания специально не занимается поиском уязвимостей в сетевом оборудовании. Мы просто обратили внимание на тенденцию, стали исследовать ситуацию и обнаружили, что проблема с уязвимостью BGP-демона позволяет злоумышленникам организовывать DDoS-атаки определенного типа. Выяснили, в чем дело, известили сообщество разработчиков, опубликовали патч и описание уязвимости. Это соответствует нашей миссии -- делать интернет более безопасным и устойчивым», – комментирует Александр Лямин, глава Qrator Labs.