mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Empty search_path in logical replication apply worker and walsender.
This is like CVE-2018-1058 commit
582edc369c
. Today, a malicious user of a
publisher or subscriber database can invoke arbitrary SQL functions
under an identity running replication, often a superuser. This fix may
cause "does not exist" or "no schema has been selected to create in"
errors in a replication process. After upgrading, consider watching
server logs for these errors. Objects accruing schema qualification in
the wake of the earlier commit are unlikely to need further correction.
Back-patch to v10, which introduced logical replication.
Security: CVE-2020-14349
This commit is contained in:
@ -16,6 +16,10 @@ $node_subscriber->init(allows_streaming => 'logical');
|
||||
$node_subscriber->start;
|
||||
|
||||
# Create some preexisting content on publisher
|
||||
$node_publisher->safe_psql(
|
||||
'postgres',
|
||||
"CREATE FUNCTION public.pg_get_replica_identity_index(int)
|
||||
RETURNS regclass LANGUAGE sql AS 'SELECT 1/0'"); # shall not call
|
||||
$node_publisher->safe_psql('postgres',
|
||||
"CREATE TABLE tab_notrep AS SELECT generate_series(1,10) AS a");
|
||||
$node_publisher->safe_psql('postgres',
|
||||
|
Reference in New Issue
Block a user