Российский программист нашел в фейсбуке уязвимость на 40 тысяч долларов
Российский программист Андрей Леонов нашел в фейсбуке уязвимость, которая позволяла выполнять код на сервере компании. За сообщение об ошибке ему заплатили 40 тысяч долларов. Это рекордная награда за обнаруженную уязвимость.
Андрей Леонов нашел ошибку в обработке фотографий на сервере Facebook. Для уменьшения объема изображений компания использует библиотеку ImageMagick. Когда пользователь хочет поделиться ссылкой, фейсбук автоматически забирает с этой страницы картинку к посту.
Уязвимость состоит в следующем. При загрузке файла ImageMagick проверяет, что это за картинка — JPG, GIF или PNG. Обычно тип файла проверяется по первым байтам файла. Это позволяет злоумышленникам замаскировать файл со своим кодом под картинку: достаточно подставить правильные первые байты JPG или GIF. Эта уязвимость известна с апреля 2016 года.
Андрей Леонов создал такой замаскированный файл и разместил его у себя на сайте. Когда он расшарил страницу через фейсбук, сервер забрал этот файл и выполнил код из него. В октябре 2016 года Леонов сообщил о своей находке в Facebook. После обсуждения с сотрудником социальной сети ему выплатили награду.
Вознаграждение за обнаруженную Андреем Леоновым ошибку самое большое из тех, что выплачивал Facebook. В 2014 году Реджиналдо Силва получил от компании 33,5 тысячи долларов. Силва нашел уязвимость, которая позволяла считывать любые файлы на сервере.
«Медуза» — это вы! Уже три года мы работаем благодаря вам, и только для вас. Помогите нам прожить вместе с вами 2025 год!
Если вы находитесь не в России, оформите ежемесячный донат — а мы сделаем все, чтобы миллионы людей получали наши новости. Мы верим, что независимая информация помогает принимать правильные решения даже в самых сложных жизненных обстоятельствах. Берегите себя!