Google Project Zero указал Microsoft на неполные августовские патчи

Google Project Zero указал Microsoft на неполные августовские патчи

Google Project Zero указал Microsoft на неполные августовские патчи

Исследователи Google Project Zero указали Microsoft на некачественный набор обновлений, вышедший вчера, 11 августа. В связи с этим проект отказался продлить стандартный 90-дневный срок до раскрытия подробностей непропатченной в этом месяце уязвимости.

Один из 120 багов, которые Microsoft устранила вчера, известен под идентификатором CVE-2020-1509. Именно об этой уязвимости корпорация из Редмонда узнала благодаря экспертам Google Project Zero. 5 мая Джеймс Форшоу, специализирующийся на безопасности Windows, передал все подробности Microsoft.

CVE-2020-1509 позволяет удалённому атакующему повысить свои права в системе с помощью отправки специально созданного запроса аутентификации службе LSASS. Условие для эксплуатации — злоумышленник должен сначала скомпрометировать учётные данные пользователя Windows.

Несмотря на то, что уязвимость получила среднюю степень опасности, стоит учитывать, что LSASS является ключевым процессом для аутентификации пользователей.

Согласно описанию бреши, она затрагивает все версии операционной системы Windows, включая последний релиз — Windows 10 2004.

Поскольку исследователи Google Project Zero были уверены, что Microsoft полностью устранила баг, они опубликовали его детали и даже код эксплойта.

По словам Форшоу, августовский патч Microsoft неполный. Например, LSASS не совсем корректно задействует возможности «корпоративной аутентификации». В результате любое UWP-приложение может аутентифицироваться с учётными данными пользователя.

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

Подпишитесь на новости

Новая атака на кеш Nginx позволяет красть данные и ломать сайты

Исследователь YesWeHack Алекс Брумен описал вектор кибератаки Cache Key Injection. В случае её эксплуатации последствия для потенциальной жертвы опасные: обход контроля доступа, раскрытие закрытых страниц, отказ в обслуживании и при определённых условиях.

Как объясняет исследователь YesWeHack, проблема возникает не в Nginx по умолчанию, а в конфигурациях, где администраторы просто склеивают несколько значений переменной длины без разделителей. Например:

$scheme$host$request_uri$http_accept

Разных запроса два, а итоговая строка может получиться одна. Так, запрос к /h с заголовком Accept: ome*/* создаёт тот же ключ, что и обычное обращение к /home с Accept: */*.

Если атакующий успеет первым положить в кеш ответ 404, пользователи вместо главной страницы будут получать ошибку до очистки записи. Получается CPDoS — отказ в обслуживании с доставкой прямо из кеша.

 

Ещё веселее становится с закрытыми разделами. В лабораторном примере страница /admin была доступна только с localhost, но злоумышленник мог обратиться к /ad и перенести оставшуюся часть имени в соседний компонент ключа. Nginx видел разрешённый путь, однако доставал из кеша содержимое админ-панели.

При совпадении нескольких условий техника позволяет столкнуть HTTP- и HTTPS-запросы и записать в кеш страницу со ссылкой на атакующий JavaScript, превратив ошибку конфигурации в stored XSS. Даже Cloudflare не всегда спасёт: заголовок Authorization может провести запрос мимо его кеша прямо к уязвимому кешу Nginx.

 

Защита выглядит до смешного просто: не склеивать значения вслепую. Между элементами ключа нужны разделители или структурное кодирование, например:

$scheme|$host|$request_uri|$http_accept

Также следует проверять Host, перенаправлять HTTP на HTTPS и не кешировать аутентифицированные запросы.

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