Time-of-check Time-of-use (TOCTOU) race condition in pgdump in PostgreSQL allows an object creator to execute arbitrary SQL functions as the user running pgdump, which is often a superuser. The attack involves replacing another relation type with a view or foreign table. The attack requires waiting for pg_dump to start, but winning the race condition is trivial if the attacker retains an open transaction. Versions before PostgreSQL 16.4, 15.8, 14.13, 13.16, and 12.20 are affected.
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "binaries": [ { "binary_name": "libecpg-compat3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libecpg-compat3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libecpg-dev", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libecpg-dev-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libecpg6", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libecpg6-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libpgtypes3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libpgtypes3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libpq-dev", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libpq-dev-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libpq5", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "libpq5-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-9.3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-9.3-dbg", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-9.3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-client-9.3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-client-9.3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-contrib-9.3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-contrib-9.3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-doc-9.3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-plperl-9.3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-plperl-9.3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-plpython-9.3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-plpython-9.3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-plpython3-9.3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-plpython3-9.3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-pltcl-9.3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-pltcl-9.3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-server-dev-9.3", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" }, { "binary_name": "postgresql-server-dev-9.3-dbgsym", "binary_version": "9.3.24-0ubuntu0.14.04+esm1" } ] }
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "binaries": [ { "binary_name": "libecpg-compat3", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libecpg-compat3-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libecpg-dev", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libecpg-dev-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libecpg6", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libecpg6-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libpgtypes3", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libpgtypes3-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libpq-dev", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libpq-dev-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libpq5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "libpq5-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-9.5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-9.5-dbg", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-9.5-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-client-9.5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-client-9.5-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-contrib-9.5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-contrib-9.5-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-doc-9.5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-plperl-9.5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-plperl-9.5-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-plpython-9.5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-plpython-9.5-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-plpython3-9.5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-plpython3-9.5-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-pltcl-9.5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-pltcl-9.5-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-server-dev-9.5", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" }, { "binary_name": "postgresql-server-dev-9.5-dbgsym", "binary_version": "9.5.25-0ubuntu0.16.04.1+esm8" } ] }
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "binaries": [ { "binary_name": "libecpg-compat3", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libecpg-compat3-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libecpg-dev", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libecpg-dev-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libecpg6", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libecpg6-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libpgtypes3", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libpgtypes3-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libpq-dev", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libpq5", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "libpq5-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-10", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-10-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-client-10", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-client-10-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-doc-10", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-plperl-10", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-plperl-10-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-plpython-10", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-plpython-10-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-plpython3-10", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-plpython3-10-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-pltcl-10", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-pltcl-10-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-server-dev-10", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" }, { "binary_name": "postgresql-server-dev-10-dbgsym", "binary_version": "10.23-0ubuntu0.18.04.2+esm2" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "libecpg-compat3", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libecpg-compat3-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libecpg-dev", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libecpg-dev-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libecpg6", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libecpg6-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libpgtypes3", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libpgtypes3-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libpq-dev", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libpq5", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "libpq5-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-12", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-12-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-client-12", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-client-12-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-doc-12", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-plperl-12", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-plperl-12-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-plpython3-12", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-plpython3-12-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-pltcl-12", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-pltcl-12-dbgsym", "binary_version": "12.20-0ubuntu0.20.04.1" }, { "binary_name": "postgresql-server-dev-12", "binary_version": "12.20-0ubuntu0.20.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "libecpg-compat3", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libecpg-compat3-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libecpg-dev", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libecpg-dev-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libecpg6", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libecpg6-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libpgtypes3", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libpgtypes3-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libpq-dev", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libpq5", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "libpq5-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-14", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-14-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-client-14", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-client-14-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-doc-14", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-plperl-14", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-plperl-14-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-plpython3-14", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-plpython3-14-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-pltcl-14", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-pltcl-14-dbgsym", "binary_version": "14.13-0ubuntu0.22.04.1" }, { "binary_name": "postgresql-server-dev-14", "binary_version": "14.13-0ubuntu0.22.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "libecpg-compat3", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libecpg-compat3-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libecpg-dev", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libecpg-dev-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libecpg6", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libecpg6-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libpgtypes3", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libpgtypes3-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libpq-dev", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libpq5", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "libpq5-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-16", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-16-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-client-16", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-client-16-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-doc-16", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-plperl-16", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-plperl-16-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-plpython3-16", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-plpython3-16-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-pltcl-16", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-pltcl-16-dbgsym", "binary_version": "16.4-0ubuntu0.24.04.1" }, { "binary_name": "postgresql-server-dev-16", "binary_version": "16.4-0ubuntu0.24.04.1" } ] }