Уязвимость Badlock обнаружена почти во всех версиях Windows и Samba

Уязвимость Badlock обнаружена почти во всех версиях Windows и Samba

Уязвимость Badlock обнаружена почти во всех версиях Windows и Samba

В наши дни присвоение имен серьезным уязвимостям уже практически стало традицией, баги даже обзаводятся официальными сайтами. Однако обычно это происходит после их исправления. Патча для уязвимости Badlock пока нет, исправление обещают представить 12 апреля 2016 года (очередной «вторник исправлений» Microsoft).

Проблема была обнаружена в протоколе SMB/CIFS, который используется в Windows и пакете Samba. Уязвимость Badlock нашел сотрудник компании SerNet и член команды Samba Core Team Стефан Метцмахер (Stefan Metzmacher). Именно он присвоил проблеме имя и запустил официальный сайт Badlock.

Детальную информацию об уязвимости Метцмахер пока не раскрывает, давая производителям время на подготовку и выпуск патчей. По информации Метцмахера, исправления будут представлены 12 апреля 2016 года, а значит, Microsoft исправит Badlock наряду с другими багами, в ходе «вторника исправлений». Отталкиваясь от этих данных, можно предположить, что специалисты компании не сочли нужным выпускать отдельный экстренный патч для Badlock, а это хороший знак, передает xakep.ru.

Решение, анонсировать уязвимость раньше выхода патча, было принято неслучайно. В SerNet предположили, что если своевременно привлечь внимание к проблеме, то больше администраторов установят исправления вовремя.

С такой точкой зрения согласны далеко не все. Некоторые эксперты уже назвали заблаговременный анонс бага «странной маркетинговой кампанией», которая лишь спровоцирует злоумышленников со всего мира найти уязвимость раньше выхода патча.

 

Действительно, исследователи уже строят предположения относительно того, в чем может заключаться проблема, и этот вопрос явно интересует не только white hat специалистов.

К примеру, эксперты Risk Based Security отмечают, что упоминание «lock» встречается в 40 файлах опенсорсного проекта Samba, а лично Метцмахер приложил руку к 463 файлам проекта, за период с 2002 по 2014 год. Так как он должен знать Samba как никто другой, возможно, проблему следует искать «по его следам», предполагают в Risk Based Security.

Также в сети уже шутят о том, что уязвимость в коде нашел тот же человек, который его написал, а это выглядит несколько странно. 

Баги в ядре Linux скрываются в среднем 2 года, а иногда и 20 лет

История с первой CVE для Rust-кода в ядре Linux, которая недавно привела к падениям системы, выглядела почти как повод для оптимизма. В тот же день для кода на C зарегистрировали ещё 159 CVE — контраст показательный. Но новое исследование напоминает: проблема не только в языках программирования.

Гораздо тревожнее первой Linux-дыры в коде на Rust тот факт, что многие ошибки в ядре Linux могут годами, а иногда и десятилетиями оставаться незамеченными.

Исследовательница Дженни Гуанни Ку из компании Pebblebed проанализировала 125 183 бага за почти 20 лет развития ядра Linux — и результаты оказались, мягко говоря, неожиданными.

 

По данным исследования, средний баг в ядре Linux обнаруживают через 2,1 года после его появления. Но это ещё не предел. Самый «долгоиграющий» дефект — переполнение буфера в сетевом коде — прожил в ядре 20,7 года, прежде чем на него обратили внимание.

Важно уточнить: речь идёт о багах в целом, а не только об уязвимостях. Лишь 158 ошибок из всей выборки получили CVE, остальные могли приводить к сбоям, нестабильности или неопределённому поведению, но не обязательно к эксплуатации.

Исследование опирается на тег Fixes:, который используется в разработке ядра Linux. Когда разработчик исправляет ошибку, он указывает коммит, в котором баг был добавлен. Дженни написала инструмент, который прошёлся по git-истории ядра с 2005 года, сопоставил такие пары коммитов и вычислил, сколько времени баг оставался незамеченным.

В датасет вошли данные до версии Linux 6.19-rc3, охватывающие период с апреля 2005 по январь 2026 года. Всего — почти 120 тысяч уникальных исправлений от более чем 9 тысяч разработчиков.

Оказалось, что скорость обнаружения ошибок сильно зависит от подсистемы ядра:

  • CAN-драйверы — в среднем 4,2 года до обнаружения бага;
  • SCTP-стек — около 4 лет;
  • GPU-код — 1,4 года;
  • BPF — всего 1,1 года.

Проще говоря, чем активнее подсистема используется и исследуется, тем быстрее там находят ошибки.

Отдельная проблема — неполные фиксы. Исследование показывает, что нередко разработчики закрывают проблему лишь частично. Например, в 2024 году был выпущен патч для проверки полей в netfilter, но уже через год исследователь нашёл способ его обойти.

Такие ситуации особенно опасны: создаётся ощущение, что проблема решена, хотя на самом деле она просто сменила форму.

RSS: Новости на портале Anti-Malware.ru