]> git.ipfire.org Git - thirdparty/postgresql.git/commit
start-scripts: switch to $PGUSER before opening $PGLOG.
authorNoah Misch <noah@leadboat.com>
Mon, 6 Nov 2017 15:11:10 +0000 (07:11 -0800)
committerNoah Misch <noah@leadboat.com>
Mon, 6 Nov 2017 15:11:13 +0000 (07:11 -0800)
commit6b0b983f793b5c9ea68167a408ef58d40b942596
tree5edf8bad56c01d7618384e38918815fca7d034d5
parent3f80895723037c0d1c684dbdd50b7e03453df90f
start-scripts: switch to $PGUSER before opening $PGLOG.

By default, $PGUSER has permission to unlink $PGLOG.  If $PGUSER
replaces $PGLOG with a symbolic link, the server will corrupt the
link-targeted file by appending log messages.  Since these scripts open
$PGLOG as root, the attack works regardless of target file ownership.

"make install" does not install these scripts anywhere.  Users having
manually installed them in the past should repeat that process to
acquire this fix.  Most script users have $PGLOG writable to root only,
located in $PGDATA.  Just before updating one of these scripts, such
users should rename $PGLOG to $PGLOG.old.  The script will then recreate
$PGLOG with proper ownership.

Reviewed by Peter Eisentraut.  Reported by Antoine Scemama.

Security: CVE-2017-12172
contrib/start-scripts/freebsd
contrib/start-scripts/linux
contrib/start-scripts/osx/PostgreSQL