
CVE-2023-4911 доказательство концепции
Это (пока очень грубая) демонстрация концепции для CVE-2023-4911. На данный момент я проверил её работу только на Ubuntu 22.10 kinetic. Текущая версия эксплойта содержит изрядное количество "магических" смещений. Если у вас есть предложения по улучшению формирования кучи, не стесняйтесь отправлять мне PR :).
Этот эксплойт в основном является реализацией превосходного описания от Qualys. В некоторых местах он отличается. Это не обязательно потому, что я считаю, что знаю лучше, просто так сработало на моей виртуальной машине. Вероятно, есть возможности для улучшения.
make../exploit из доступного для записи каталога, содержащего как suid_lib.so, так и exploit. Он создаст папку с именем U в текущем каталоге и заполнит её необходимыми библиотеками.В моём ограниченном тестировании эксплойту требуется от 4000 до 8000 попыток. Заполнение стека (stack spray) работает не так хорошо, как в реализации Qualys, поэтому требуется немного больше времени.
Вот пример работы эксплойта (ускоренный): https://youtu.be/uw0EJ5zGEKE
Если вы хотите поработать над этим, вот несколько идей для начала: