Библиотека libc, распространяемая под лицензией BSD, недавно получила обновление, которое исправляет ошибку переполнения буфера, грозящую исполнением произвольного кода. Уязвимость затрагивает многие операционные системы, в том числе FreeBSD, NetBSD и OpenBSD, а также Mac OS X.

Данную брешь обнаружил Гаррет Вассерман (Garret Wassermann), аналитик координационного центра CERT, работающего на базе института программной инженерии при университете Карнеги — Меллона. Во вторник информация об уязвимости была опубликована, хотя на настоящий момент, по свидетельству Вассермана, пропатчены лишь несколько реализаций.

Проблема связана с функцией link_ntoa() в linkaddr.c и вызвана неадекватностью проверки границ переменной obuf. В случае успешной атаки ее автор сможет производить чтение и запись в памяти. Исследователи утверждают, что эту уязвимость теоретически можно использовать для выполнения кода, однако эксплойт в данном случае непрост. Разработчики FreeBSD со своей стороны убеждены, что эксплуатация при использовании link_ntoa() приложениями маловероятна. О наличии PoC у CERT/CC данных нет.

«Масштабы и серьезность последствий зависят от метода эксплойта и от того, каким образом приложение использует библиотеку», — пишет Вассерман в бюллетене. Эксперт также отметил, что оценка уязвимости по CVSS (9,3 балла) отражает худший сценарий: потенциально атака может повлечь исполнение кода с root-привилегиями.

Разработчики FreeBSD выпустили свой бюллетень, тон которого менее тревожен. Тем не менее пользователям всех поддерживаемых веток FreeBSD настоятельно рекомендуется произвести обновление. «Поскольку использование этой функции в существующих приложениях весьма ограниченно, а размер переполнения невелик, вероятность эксплуатации данной уязвимости представляется ничтожной, — сказано в бюллетене FreeBSD. — Насколько известно, утилит или демонов, подверженных ей, нет. Тем не менее тщательной проверки сторонних программ, которые могут использовать эту функцию, не производилось».

Чтобы избавиться от возможных проблем, участники проекта FreeBSD предлагают скачать один из следующих выпусков:

  • 9.3-RELEASE-p51
  • 10.1-RELEASE-p43
  • 10.2-RELEASE-p26
  • 10.3-RELEASE-p13
  • 11.0-RELEASE-p4

Сколько еще вендоров выпустили обновления, пропатчив модуль libc, доподлинно неизвестно. В списке CERT/CC числятся несколько основанных на FreeBSD проектов, в том числе DragonFlyBSD, HardenedBSD и DesktopBSD.

Член совета директоров NetBSD Foundation Джереми Рид (Jeremy Reed) подтвердил в комментарии Threatpost, что в текущей версии этой ОС для разработчиков уязвимость закрыта. Разработчики HardenedBSD пропатчили ее во вторник, обновив на GitHub код для стабильной версии 10-STABLE v46.20. В трекере багов DragonFlyBSD новая запись (о libc) появилась 6 декабря, DesktopBSD не обновлялась с сентября 2015 года. Ни Apple, ни Juniper Networks (ее Junos тоже основана на FreeBSD) на запрос Threatpost пока не отозвались.

Категории: Уязвимости