Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Security problem calling C external procedure

Re: Security problem calling C external procedure

From: Rick Wessman <rwessman_at_rochester.rr.com>
Date: 16 Nov 2000 08:57:31 -0500
Message-ID: <socn1f09fzo.fsf@rwessman-pc.us.oracle.com>

It is possible to do it in C using the setuid() system call. However, you need to be privileged to use it. Making the extproc executable setuid to some other user than Oracle will do the same. When extproc is spawned by Oracle, it will run as the specified user, not Oracle, so it will not be able to modify Oracle files (unless, of course, the permissions on the Oracle files allow it).

"Sergei Gouskov" <sgouskov_at_ue.com.au> writes:

> thank you Rick,
> The problem is that called C function does not make any calls to database
> but call shell commands like mkdir or mv, rm , etc thus creating/deleting
> files-directories in the os file system (so you can easily destroy
> oracle/bin....) I guess this is the question to C gurus - is it possible to
> reset (limit) process os permissions or the os user of spawned process
> (within the process itself) so that spawned process will not use inherited
> oracle user access privileges?
> TA Sergei
>
> Rick Wessman wrote in message ...
> >One thing that could be done is to make the extproc executable setuid to
 some
> >other user. That would ensure that you are running as a user other than the
> >oracle user.
> >
> >However, please do not make it setuid to root as (obviously) extproc would
> >then be able to execute any command.
> >
> > Thanks,
> > Rick
> > Rick Wessman
> > Server Security Group
> > Oracle Corporation
> > Rick.Wessman_at_oracle.com
> >
> > The opinions expressed above are mine and do not necessarily reflect
> > those of Oracle Corporation.
>
>
Received on Thu Nov 16 2000 - 07:57:31 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US