Сигурност

Редакция Overclock.bg ·

CSS в имейл краде пароли и токени от уеб пощата

CSS в имейл краде пароли и токени от уеб пощата

Изследователят Гарет Хейс от PortSwigger представи на Black Hat USA 2026 серия атаки, при които обикновен CSS код в тялото на едно писмо излиза извън рамките на съобщението и превзема интерфейса на самата уеб поща. Резултатът: подменен екран за вход в Outlook, кийлогър, който записва натиснатите клавиши, и източени токени за достъп. Засегнати са Outlook, Gmail, Fastmail, Proton Mail, Yahoo Mail и AOL Mail, а PoC кодът е публикуван в GitHub заедно с пълния доклад от 6 август 2026 г.

Защо CSS изобщо е опасен

Уеб пощите не могат просто да изхвърлят форматирането на писмата — потребителите очакват бюлетините и фактурите да изглеждат както са замислени. Затова клиентите пропускат чужд CSS, но го „почистват“ през санитайзери, които разрешават само определени свойства и селектори.

Именно там е пробойната. Стиловете от писмото се прилагат в същия документ, в който живее и интерфейсът на пощата, а CSS отдавна не е само за цветове: селектори като :has(), attr(), image-set() и псевдоелементите ::before/::after позволяват на стила да чете състоянието на страницата и да праща заявки навън. „Доста често уеб пощите рендерират недоверен CSS в доверен интерфейс“, отбелязва Хейс.

Подменен вход в Outlook и кийлогър без JavaScript

Най-ефектната демонстрация е срещу Outlook във Firefox. Атаката комбинира два трика: label jacking — HTML елементът label може да задейства контроли, които са извън писмото, тоест бутони от интерфейса на пощата — и потребителски атрибути, които се превръщат в DOM възли и пренасят CSS покрай списъка с разрешени свойства.

С тези градивни елементи писмото първо „дефейсва“ интерфейса, после рисува върху него убедителен екран за вход в Microsoft акаунт. Ако получателят започне да пише паролата си там, тя изтича към нападателя.

Дефейсване на интерфейса на Outlook чрез CSS gadget Снимка: PortSwigger Research

Кийлогърът заслужава отделно внимание, защото не използва JavaScript. Класическият вариант е речников: за всяка възможна стойност на полето се дефинира правило с атрибутен селектор, което зарежда фоново изображение от сървъра на нападателя. В хранилището има и вариант само с HTML (с Unicode символи), както и реалновремеви кийлогър за Chrome, който злоупотребява с новите Interest Invokers.

Отделен клас атаки чете данни, без да ги вижда буквално: font-height oracle мери височината на текст с подбран шрифт и така познава кои цифри се съдържат в него — достатъчно, за да се възстанови част от токен.

Токени през clipboard в Yahoo и AOL

При Yahoo Mail и AOL Mail Хейс описва „paste race“ проблем във Firefox. Жертвата копира съдържание, подготвено от нападателя, и го поставя в чернова; в този кратък момент вложените атрибутни селектори издават достатъчно информация, за да бъде реконструиран токенът за вход. Същата техника работи и срещу системата за вход на Medium.

Оракул на височината на шрифта в интерфейса на Outlook Снимка: PortSwigger Research

AI асистентите правят нещата по-лоши

Втората половина на изследването е за AI. В Gmail функцията image-set() е позволявала външни заявки въпреки санитизацията. Когато пощата е свързана с Claude Cowork на Anthropic през конектора за Gmail, скрити в писмото инструкции карат модела сам да намери Slack токени и да ги сложи в HTML чернова, откъдето изтичат.

При Fastmail пък псевдоелементи и opacity крият текст от човешкото око, но не и от AI браузъра Atlas на OpenAI — моделът прочита инструкциите и ги изпълнява. Това е същият механизъм, по който наскоро пет AI браузъра бяха превзети с един-единствен имейл. Atlas така или иначе се пенсионира на 9 август 2026 г., но проблемът е класов, а не продуктов.

Какво е поправено и какво не

Fastmail е отстранила два бъга с CSS мутации и частично е затворила заобикалянето на image proxy през екраниран обратно наклонен знак. При Proton Mail заобикалянето на прокситo вече не сработва при повторните тестове. Label jacking в Outlook обаче все още работеше към момента на публикуването, а заобикалянето с image-set() в Gmail беше активно на 6 август 2026 г., пише The Hacker News.

Препоръките към доставчиците са ясни: изолиране на HTML писмата в sandboxed iframe, строго ограничаване на CSS с бял списък от символи, блокиране на потребителски атрибути и select менюта, проверка за CSS gadgets в собствения интерфейс и image proxy, който не позволява проследяване дори през разрешени домейни.

Внимание

Ако уеб пощата ви внезапно поиска да въведете паролата си „отново“ директно в отворено писмо — не пишете нищо. Отворете нов таб и влезте през официалния адрес на доставчика.

Контекстът: имейлът остава входната врата

Изследването излиза дни след отчета на Gen Digital за първото полугодие на 2026 г., според който измамите са близо 46% от всички засечени заплахи, а malvertising-ът — още около 30%. Едната от описаните вериги започва точно с компрометирана служебна пощенска кутия: истинска кореспонденция за товарителници и фактури, в която се вмъква JavaScript dropper, следван от PowerShell етапи и подменени прокси настройки. Другата е Rust клипборд крадец, който следи 21 блокчейна и подменя адреса на портфейла преди подписването на транзакцията.

Общото между двете новини е, че защитата вече не свършва при „не отваряйте съмнителни писма“. Тук писмото е истинско, а кодът в него е само стил. Както при изтичането на реалния IP през iCloud Private Relay, проблемът е в допускането, че една привидно безобидна прослойка не може да навреди.

Заключение

CSS отдавна е програмируем достатъчно, за да бъде вектор за атака, а уеб пощите го рендерират в същия документ като собствения си интерфейс. Докато доставчиците не преминат към пълна изолация на писмата, санитизацията ще си остане надпревара, в която нападателят има предимство — а свързването на пощата с AI агенти добавя още един канал, по който скритият текст става изпълнима инструкция.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още