Уязвимость в VirtualBox, позволяющая выполнить код на стороне хост-системы

К дeмoнстрaции уязвимoсти пoдгoтoвлeн рaбoчий прoтoтип эксплoитa. Во (избежание aтaки трeбуeтся нaличиe прaв root возможно ли aдминистрaтoрa в гoстeвoй систeмe. Прoблeмa прoявляeтся в кoнфигурaции пo умoлчaнию с сeтeвым адаптером E1000 быть применении трансляции адресов (NAT) для организации сетевого взаимодействия. Положение вызвана переполнением буфера в коде эмуляции сетевого адаптера E1000 (Intel PRO/1000 MT Desktop). Практическая набег, использующая данное переполнение буфера, разделена получи и распишись несколько этапов: через манипуляцией с Tx-дескрипторами пакета (конструкция с информацией о пакете), создаются условия ради целочисленного переполнения через нижнюю границу (integer underflow), что же позволяет организовать загрузку произвольных данных в бампер и вызвать его переполнение с наложением невыгодный уместившегося в буфер хвоста на нотогея указателей или инициировать переполнение стека. Содержание уязвимости в том, что возможно работа условий при которых Tx-дескрипторы данных, могут уйти для обработки раньше Tx-дескрипторов контекста. Дескрипторы данных включают информация о физическом адресе и размере пакета. Дескрипторы контекста содержат информацию максимальном размере пакета и сегментации. Размер пакета в дескрипторе с данными веков)) меньше максимального размера пакета в дескриптора контекста. В случае нарушения грубо обработки Tx-дескрипторов при вычислении размера возникает целочисленное захлестывание через нижнюю границу. Атака позволяет произвести код на уровне третьего кольца защиты (ring3) в хост-окружении, впоследствии чего можно воспользоваться техникой повышения привилегий раньше уровня ring0 через манипуляции с /dev/vboxdrv. Выученный прототип эксплоита демонстрирует 100% регулярность и не зависит от сборки VirtualBox. Эксплоит оформлен в виде модуля ядра, загружаемого для стороне гостевой системы. Уязвимость проявляется необусловленно от операционных систем, используемых сверху стороне хоста и гостевого окружения. В качестве обходного пути к защиты рекомендуется сменить в настройках эмулируемый сетный адаптер на PCnet или Paravirtualized Network. Иджма опубликовать сведения об уязвимости маловыгодный дожидаясь исправления вызваны неприятием сложившейся практики в области связанных с безопасностью исследований и негативным опытом информирования о уязвимостах в прошлом. Исследователям надо ждать по полгода, пока бросьте исправлена уязвимость, а также возникает расплывчатость при участии в программах выплаты вознаграждений вслед выявление уязвимостей. При участии в программах выплаты вознаграждений необходимо более месяца ждать пока незащищенность будет проверена и будет принято проблемы) о выплате. Решение при этом принимается втемную - сегодня за уязвимость могут дать на лапу, а через неделю она уже может прорасти неинтересной. Размер выплаты мало предсказуем. Непризнание также вызывает последнее время раздуваемая маркетинговая шумиха около уязвимостей - исследователи дают уязвимостям имена, создают сайты и логотипы, преувеличивают значение собственной работы и преподносят себя как бы спасителей мира.