Late privilege drop in REFRESH MATERIALIZED VIEW CONCURRENTLY in PostgreSQL allows an object creator to execute arbitrary SQL functions as the command issuer. The command intends to run SQL functions as the owner of the materialized view, enabling safe refresh of untrusted materialized views. The victim is a superuser or member of one of the attacker's roles. The attack requires luring the victim into running REFRESH MATERIALIZED VIEW CONCURRENTLY on the attacker's materialized view. Versions before PostgreSQL 16.2, 15.6, 14.11, 13.14, and 12.18 are affected.
{
"availability": "No subscription required",
"binaries": [
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "libecpg-compat3"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "libecpg-dev"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "libecpg6"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "libpgtypes3"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "libpq-dev"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "libpq5"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "postgresql-12"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "postgresql-client-12"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "postgresql-doc-12"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "postgresql-plperl-12"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "postgresql-plpython3-12"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "postgresql-pltcl-12"
},
{
"binary_version": "12.18-0ubuntu0.20.04.1",
"binary_name": "postgresql-server-dev-12"
}
]
}{
"availability": "No subscription required",
"binaries": [
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "libecpg-compat3"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "libecpg-dev"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "libecpg6"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "libpgtypes3"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "libpq-dev"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "libpq5"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "postgresql-14"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "postgresql-client-14"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "postgresql-doc-14"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "postgresql-plperl-14"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "postgresql-plpython3-14"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "postgresql-pltcl-14"
},
{
"binary_version": "14.11-0ubuntu0.22.04.1",
"binary_name": "postgresql-server-dev-14"
}
]
}{
"availability": "No subscription required",
"binaries": [
{
"binary_version": "16.2-1",
"binary_name": "libecpg-compat3"
},
{
"binary_version": "16.2-1",
"binary_name": "libecpg-dev"
},
{
"binary_version": "16.2-1",
"binary_name": "libecpg6"
},
{
"binary_version": "16.2-1",
"binary_name": "libpgtypes3"
},
{
"binary_version": "16.2-1",
"binary_name": "libpq-dev"
},
{
"binary_version": "16.2-1",
"binary_name": "libpq5"
},
{
"binary_version": "16.2-1",
"binary_name": "postgresql-16"
},
{
"binary_version": "16.2-1",
"binary_name": "postgresql-client-16"
},
{
"binary_version": "16.2-1",
"binary_name": "postgresql-doc-16"
},
{
"binary_version": "16.2-1",
"binary_name": "postgresql-plperl-16"
},
{
"binary_version": "16.2-1",
"binary_name": "postgresql-plpython3-16"
},
{
"binary_version": "16.2-1",
"binary_name": "postgresql-pltcl-16"
},
{
"binary_version": "16.2-1",
"binary_name": "postgresql-server-dev-16"
}
]
}{
"binaries": [
{
"binary_version": "9.3.24-0ubuntu0.14.04+esm1",
"binary_name": "libecpg-compat3"
},
{
"binary_version": "9.3.24-0ubuntu0.14.04+esm1",
"binary_name": "libecpg-dev"
},
{
"binary_version": "9.3.24-0ubuntu0.14.04+esm1",
"binary_name": "libecpg6"
},
{
"binary_version": "9.3.24-0ubuntu0.14.04+esm1",
"binary_name": "libpgtypes3"
},
{
"binary_version": "9.3.24-0ubuntu0.14.04+esm1",
"binary_name": "libpq-dev"
},
{
"binary_version": "9.3.24-0ubuntu0.14.04+esm1",
"binary_name": "libpq5"
},
{
"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-client-9.3"
},
{
"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-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-plpython-9.3"
},
{
"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-pltcl-9.3"
},
{
"binary_version": "9.3.24-0ubuntu0.14.04+esm1",
"binary_name": "postgresql-server-dev-9.3"
}
]
}{
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro",
"binaries": [
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "libecpg-compat3"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "libecpg-dev"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "libecpg6"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "libpgtypes3"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "libpq-dev"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "libpq5"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "postgresql-9.5"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "postgresql-client-9.5"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "postgresql-contrib-9.5"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "postgresql-doc-9.5"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "postgresql-plperl-9.5"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "postgresql-plpython-9.5"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "postgresql-plpython3-9.5"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "postgresql-pltcl-9.5"
},
{
"binary_version": "9.5.25-0ubuntu0.16.04.1+esm7",
"binary_name": "postgresql-server-dev-9.5"
}
]
}{
"binaries": [
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "libecpg-compat3"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "libecpg-dev"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "libecpg6"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "libpgtypes3"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "libpq-dev"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "libpq5"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "postgresql-10"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "postgresql-client-10"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "postgresql-doc-10"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "postgresql-plperl-10"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "postgresql-plpython-10"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "postgresql-plpython3-10"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "postgresql-pltcl-10"
},
{
"binary_version": "10.23-0ubuntu0.18.04.2+esm3",
"binary_name": "postgresql-server-dev-10"
}
]
}