• Noah Misch's avatar
    Secure Unix-domain sockets of "make check" temporary clusters. · be76a6d3
    Noah Misch authored
    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
    be76a6d3
pg_regress.c 62.5 KB