Xakep #305. Многошаговые SQL-инъекции
Разработчики Evernote устранили в приложении для Windows уязвимость CVE-2018-18524, сначала выпустив версию 6.16.1 beta, а затем представив релиз Evernote 6.16.4. Баг был обнаружен специалистами компании Knownsec и представлял опасность для версий младше 6.15.
Исследователи публично рассказали о проблеме в своем блоге. По сути, уязвимость позволяла удаленному атакующему запускать на машине жертвы произвольные программы и выполнять команды, причем для этого нужно было лишь поделиться с пользователем заметкой, вынудив ее просмотреть. Баг представлял собой так называемую stored XSS, то есть «хранимую» или «постоянную» XSS-уязвимость.
Аналитики Knownsec рассказывают, что исправление проблемы осуществлялось в два этапа. Дело в том, что изначально опасный XSS-баг нашел ИБ-специалист, известный под ником Sebao. Он обнаружил, что если добавить в заметку Evernote изображение, а затем переименовать его, в имя можно встроить код JavaScript. Если поделиться такой заметкой с другим пользователем, код будет выполнен, когда получатель нажмет на картинку.
Однако эту итерацию проблему разработчики исправили еще в сентябре текущего года. Специалисты Knownsec, в свою очередь, заметили, что уязвимость не устранили до конца, и возможность встроить произвольный код в имя приложенного изображения по-прежнему сохранялась. По сути, тогда разработчики лишь запретили использовать в именах символы <,>,".
Продолжив изучение проблемы, исследователи обнаружили, что в имя картинки по-прежнему можно встроить код для загрузки файла .js с удаленного сервера, и задействовать NodeWebKit, используемый Evernote в режиме презентации. То есть теперь эксплуатация проблемы требовала, чтобы пользователь не просто открыл вредоносную заметку, но сделал это в режиме презентации. В остальном XSS-уязвимость по-прежнему была на месте.
Злоумышленник, к примеру, мог использовать проблему для чтения произвольных файлов Windows и запуска приложений. Эксплуатация проблемы наглядно показана в приведенных ниже видео.