[sisyphus] temporary root privileges from local process
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Чт Май 18 18:52:31 MSD 2006
On Thu, May 18, 2006 at 05:41:52PM +0300, Vadym Kononenko wrote:
> четвер 18 травень 2006 15:17, Dmitry V. Levin написав:
> > int main()
> >
> > > {
> > > if (geteuid() != 0) exit(1);
> > >
> > > setuid(0);
> > >
> > > return system("/sbin/service bluetooth reload");
> > > }
> >
> > Это instant root, т.е. запускающий эту привилегированную программу
> > пользователь может не напрягаясь получить права setuid(0).
>
> Я так понимаю, это из-за запуска шелла с рутовыми правами? Тогда следующий
> вариант должен это исправлять:
> return execl("/sbin/service" , "service", "bluetooth", "reload", NULL);
> ?
/sbin/service - это shell-скрипт.
Как минимум вам нужно использовать execle.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20060518/d9da970c/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus