Firefox 148 первым внедрил встроенную защиту от XSS

Firefox 148 первым внедрил встроенную защиту от XSS

Firefox 148 первым внедрил встроенную защиту от XSS

Mozilla сделала важный шаг в борьбе с одной из самых живучих веб-уязвимостей — XSS (межсайтовый скриптинг). В Firefox 148 компания первой внедрила стандартизированный Sanitizer API, встроенный инструмент для очистки небезопасного HTML прямо на уровне браузера.

XSS десятилетиями остаётся в топе самых распространённых проблем веб-безопасности.

Суть проста: если сайт позволяет злоумышленнику вставить вредоносный HTML или JavaScript через пользовательский контент, атакующий может перехватывать действия пользователя, красть данные и управлять сессией до тех пор, пока уязвимость не будет закрыта. Несмотря на множество защитных механизмов, XSS стабильно держится в числе лидеров рейтингов вроде CWE-79.

Раньше разработчики полагались, например, на Content Security Policy (CSP), но её внедрение часто требовало серьёзной переработки архитектуры и постоянного контроля со стороны специалистов по безопасности. Для небольших проектов это оказывалось слишком сложно.

Sanitizer API призван упростить задачу. Он позволяет очищать небезопасный HTML перед тем, как вставлять его в DOM. Главная цель — заменить рискованное использование свойства innerHTML, которое «слепо» вставляет и исполняет всё, что ему передали.

Вместо этого предлагается метод setHTML(). Если злоумышленник попытается внедрить что-то вроде <img src=x onerror=alert(1)>, новый механизм автоматически удалит опасный атрибут onerror. В итоге пользователь увидит безопасный HTML без выполнения вредоносного кода.

По умолчанию API работает в безопасной конфигурации, но разработчики могут настраивать его под свои задачи — определять, какие теги и атрибуты разрешены, а какие нужно удалять. Для более строгого контроля Sanitizer API можно использовать вместе с Trusted Types, что позволит централизованно управлять вставкой HTML и блокировать небезопасные методы.

Появление Sanitizer API в Firefox 148 фактически открывает новую главу в браузерной защите от XSS. Ожидается, что другие крупные браузеры тоже внедрят этот стандарт.

Если setHTML() действительно начнёт массово вытеснять innerHTML, у разработчиков наконец появится простой и встроенный инструмент против одной из самых старых и упорных уязвимостей интернета.

Microsoft Edge держит сохранённые пароли в памяти в открытом виде

Исследователи обнаружили неприятную особенность Microsoft Edge: браузер загружает все сохранённые пароли в память процесса в открытом виде сразу после запуска. Причём, по данным исследователей, Microsoft считает такое поведение не ошибкой, а частью текущей архитектуры.

Главная проблема в том, что Edge не ждёт, пока пользователь откроет конкретный сайт.

Если пароли сохранены во встроенном менеджере паролей, они расшифровываются и попадают в память сразу после запуска Edge, даже если в этой сессии человек вообще не собирался заходить на соответствующие сайты.

Исследователь Том Йоран Сёнстебисетер Рённинг (@L1v1ng0ffTh3L4N) сравнил поведение крупных Chromium-браузеров и заявил, что именно Edge грешит таким поведением. Для сравнения, Chrome расшифровывает пароли по требованию (например, при автозаполнении или когда пользователь сам открывает их в настройках).

Особенно опасно это выглядит в корпоративных и общих средах, например на терминальных серверах. Если злоумышленник получает права администратора, он может читать память процессов других пользователей. В таком сценарии достаточно, чтобы у жертв был запущен Edge, даже если их сессии отключены. После этого сохранённые пароли можно попытаться извлечь прямо из памяти.

Ситуация выглядит ещё страннее из-за интерфейса самого Edge. Чтобы посмотреть пароли во встроенном менеджере, браузер просит повторно подтвердить личность — ввести ПИН-код или пароль Windows. Но при этом те же пароли уже могут лежать в памяти процесса в открытом виде. Получается, защита в интерфейсе есть, а под капотом всё куда менее продуманно.

Специалист опубликовал небольшой PoC-инструмент EdgeSavedPasswordsDumper, с помощью которого можно проверить поведение Edge в своих системах.

Пока Microsoft не изменит подход, исследователи советуют компаниям не хранить важные учётные данные во встроенном менеджере паролей Edge. Более безопасный вариант — отдельный менеджер паролей, который расшифровывает данные только по запросу, а не складывает всё в память сразу после запуска браузера.

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