mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-30 19:00:29 +08:00
31c6e54ec9
Any OS user able to access the socket can connect as the bootstrap superuser and in turn execute arbitrary code as the OS user running the test. Protect against that by placing the socket in the temporary data directory, which has mode 0700 thanks to initdb. Back-patch to 8.4 (all supported versions). The hazard remains wherever the temporary cluster accepts TCP connections, notably on Windows. Attempts to run "make check" from a directory with a long name will now fail. An alternative not sharing that problem was to place the socket in a subdirectory of /tmp, but that is only secure if /tmp is sticky. The PG_REGRESS_SOCK_DIR environment variable is available as a workaround when testing from long directory paths. 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 |
||
---|---|---|
.. | ||
.gitignore | ||
check.c | ||
controldata.c | ||
dump.c | ||
exec.c | ||
file.c | ||
function.c | ||
IMPLEMENTATION | ||
info.c | ||
Makefile | ||
option.c | ||
page.c | ||
parallel.c | ||
pg_upgrade.c | ||
pg_upgrade.h | ||
relfilenode.c | ||
server.c | ||
tablespace.c | ||
test.sh | ||
TESTING | ||
util.c | ||
version_old_8_3.c | ||
version.c |