Thread: Re: [COMMITTERS] pgsql/src/bin/initdb initdb.sh
> Bruce Momjian writes: > > > This brings up a question. If I have pid 333 and someone creates a file > > world-writable called /tmp/333, and I go and do: > > > > cat file >/tmp/$$ > > > > isn't another user now able to modify those temp file contents. Is that > > the insecurity you mentioned Peter, and if so, how do you prevent this? > > That is one possibility. Another exploit is with a symlink from /tmp/333 > to a file you want to overwrite. This is more fun with root, but it's > still not a good idea here. > > To securely create a temp file in shell you need to use mktemp(1), or do > something like (umask 077 && mkdir $TMPDIR/$$) to create a subdirectory. > Needless to say, it's tricky. Wow, that symlink is a bad one. I don't see mktemp(1) on bsd/os, only mktemp(3). I do see it on FreeBSD. Good thing I don't have other shell users on my system. I do cat >/tmp/$$ all the time in scripts. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
Bruce Momjian writes: > > To securely create a temp file in shell you need to use mktemp(1), or do > > something like (umask 077 && mkdir $TMPDIR/$$) to create a subdirectory. > > Needless to say, it's tricky. > > Wow, that symlink is a bad one. I don't see mktemp(1) on bsd/os, only > mktemp(3). I do see it on FreeBSD. > > Good thing I don't have other shell users on my system. I do cat > >/tmp/$$ all the time in scripts. I see we have temp file vulnerabilities in genbki.sh and Gen_fmgrtab.sh as well. I'll try to fix them. -- Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
> Bruce Momjian writes: > > > > To securely create a temp file in shell you need to use mktemp(1), or do > > > something like (umask 077 && mkdir $TMPDIR/$$) to create a subdirectory. > > > Needless to say, it's tricky. > > > > Wow, that symlink is a bad one. I don't see mktemp(1) on bsd/os, only > > mktemp(3). I do see it on FreeBSD. > > > > Good thing I don't have other shell users on my system. I do cat > > >/tmp/$$ all the time in scripts. > > I see we have temp file vulnerabilities in genbki.sh and Gen_fmgrtab.sh as > well. I'll try to fix them. What is the vulnerability? I see: - if [ "$TMPDIR" ]; then- TEMPFILE="$TMPDIR/initdb.$$"- else- TEMPFILE="/tmp/initdb.$$"- fi -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026