В браузере Google Chrome появится новая защитная функция, призванная предотвратить изменение открытой страницы при клике на вставленную в нее ссылку. Практика показывает, что такая подмена бывает опасной: пользователь может стать жертвой фишинга или заражения. Подобные JavaScript-трюки уже блокируют Safari и Firefox, а с нового года эта возможность появится и у браузеров на движке Chromium.
Речь идет о ссылках, внедряемых авторами публикаций в HTML-код с атрибутом target="_blank". При активации такой ссылки браузер открывает новую страницу в соседней вкладке или отдельном окне. При этом текущая страница сохраняет связь с предыдущей через JavaScript-объект window.opener и может открыть другой URL в родительской вкладке / окне.
Злоумышленники часто пользуются этой возможностью для перенаправления пользователей на свои сайты. В англоязычных источниках даже появился термин, характеризующий такие редирект-атаки, — tab napping, угон вкладок.
Во избежание подобных неприятностей владельцам сайтов рекомендуется использовать в HTML-ссылках атрибут rel="noopener" вместе с target="_blank". К сожалению, далеко не все следуют этому совету: у кого-то не хватает времени следить за новыми веяниями, а многие сайты вообще заброшены.
Исправить ситуацию помогли разработчики браузеров. Компании Apple и Mozilla уже внесли изменения в свои проекты, и их приложения по умолчанию трактуют ссылки с атрибутом target="_blank" как содержащие также rel="nooopener" — даже в тех случаях, когда на сайте такое указание отсутствует.
Аналогичная функциональность была недавно добавлена в Chromium. Это означает, что скоро она появится во всех браузерах, использующих этот движок: Edge, Chrome, Brave и прочих. Судя по записи на профильном ресурсе Google, администраторы сайтов могут откатить внесенные в Chromium изменения для отдельных страниц с помощью атрибута rel="opener".
Нововведение уже опробуется в Chrome Canary; на стабильном канале оно станет доступным, скорее всего, в январе — с выпуском Chrome 88.