]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Secure Unix-domain sockets of "make check" temporary clusters.
authorNoah Misch <noah@leadboat.com>
Sat, 14 Jun 2014 13:41:13 +0000 (09:41 -0400)
committerNoah Misch <noah@leadboat.com>
Sat, 14 Jun 2014 13:41:18 +0000 (09:41 -0400)
commit5f09c583c014bdc7c7330b18c74e24f63d164ced
treec3dd12c8f96ecc4cfdc3cd4e4456b33e72b83f3a
parent52c37346aa51f2aa186b7e2d0f5d6f4104377b07
Secure Unix-domain sockets of "make check" temporary clusters.

Any OS user able to access the socket can connect as the bootstrap
superuser and proceed to execute arbitrary code as the OS user running
the test.  Protect against that by placing the socket in a temporary,
mode-0700 subdirectory of /tmp.  The pg_regress-based test suites and
the pg_upgrade test suite were vulnerable; the $(prove_check)-based test
suites were already secure.  Back-patch to 8.4 (all supported versions).
The hazard remains wherever the temporary cluster accepts TCP
connections, notably on Windows.

As a convenient side effect, this lets testing proceed smoothly in
builds that override DEFAULT_PGSOCKET_DIR.  Popular non-default values
like /var/run/postgresql are often unwritable to the build user.

Security: CVE-2014-0067
doc/src/sgml/regress.sgml
src/test/regress/.gitignore
src/test/regress/GNUmakefile
src/test/regress/pg_regress.c