Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1whlle-000PPC-1B for pgsql-bugs@arkaria.postgresql.org; Thu, 09 Jul 2026 10:14:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1whllb-00CQDJ-2o for pgsql-bugs@arkaria.postgresql.org; Thu, 09 Jul 2026 10:14:04 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1whllb-00CQCz-1e for pgsql-bugs@lists.postgresql.org; Thu, 09 Jul 2026 10:14:04 +0000 Received: from mail-ot1-x335.google.com ([2607:f8b0:4864:20::335]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1whlla-00000000Ikk-12nZ for pgsql-bugs@lists.postgresql.org; Thu, 09 Jul 2026 10:14:03 +0000 Received: by mail-ot1-x335.google.com with SMTP id 46e09a7af769-7eb5bdb50fcso1230086a34.1 for ; Thu, 09 Jul 2026 03:14:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783592041; cv=none; d=google.com; s=arc-20260327; b=IletgFDbgkY4n6e3Cyg+tPly3ZamUjbw+BBoIA75hqhkbvX43TMVsssbFuhD2I0JJY LokFZqubJUnUr12sdWN5Du/WOZrJ//e2OZF37eMG/UJHI/bAhUbrGtR5OFDGg6TJkuDu YzCLNChwFELE+CAy+OpZUj5ZQvFDiQa/dveT6bMjFDYimcg1jgJnfxePGsM9Kz/cHFRo yQgIurUjwnLfAkSD2gRfPK5KqNxo9bkEDYEaB3wMzIqZ+AmviucMfNn15sI2DidBJUMb Wdvso7XW/OXS5m9Ymv1FtGPMmX00WbRCfVXvilBNnM/xQ+0DuDD2zeWIMHu8lb94AI62 Rbdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=3ltXbCJWTH9yW1VBGdrUrWVo8PrDVEkFo0N6yUoeyjY=; fh=/gQe77b11iMZdcPj/nJr/Ghqi6rQp5FPrPbdO93bmOA=; b=nQWbAMttuZz5PcQOWpoUVdwU6cF2mN4vMa2lpmFbshPkcxIywHFXhVfoHK+5CkdTAy fv1xg3XtfQu7GvJdg2tkyeyE+Nddq+UnSnoG68DFhOO0TA+9TpxaFaDsDcvCwTJeMiO0 YJmQkrhPH4+MveUd6if3wzlbnSlE3pwtFwLrxdj2VCOlnUOxUiVgFgHNFFoNPPMeV3cT ZDYcOVSKEznZLArG38M1tGQr7cZ4jOn7AuH4bA8cmH3JJjNLpWKcy74foKZwensEKlf+ tX8hC0tVOQw5kOhp2q5Hne5ZsvqoRi8JE8ALMrwzvMVYZRIkHmSjRhghIzSx9j9OK8Rm GjIw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783592041; x=1784196841; darn=lists.postgresql.org; h=content-type:to:subject:message-id:date:from:mime-version:from:to :cc:subject:date:message-id:reply-to:content-type; bh=3ltXbCJWTH9yW1VBGdrUrWVo8PrDVEkFo0N6yUoeyjY=; b=Pst3l+bywfwunMBXpvGtiJvTd2xwWYDLne+Wq3Tip/FURxaKw8YY1uVVeN5rZ19IgY luUHP5Zn/cLRZDdnC7ODeQ1l+jFQQuO2gSX6Pc7GXVkL0ulAk4cNsljqNnMMQbwq2fdg cY4HnM/vfeCJUsLGap6SVX+3mhsQeTM9Tk0EULs0cXnLwGq3nTgy4NNISNVld2GTfscy TQsyukuD2ogNXW6CKN/w+qflJFhxvr10tVvkrx4Keoz/K3R/j/ldfPOYxUzmm6oyVhl9 E99HUCcGD0dz/njT04ce/RsbZ3LwXUI9Mb6OfRHCskWmUSPY+rplMOvRyJIVm4btVsye ywgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783592041; x=1784196841; h=content-type:to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=3ltXbCJWTH9yW1VBGdrUrWVo8PrDVEkFo0N6yUoeyjY=; b=obrpfpbsTxQFegtRk9hv5mATYaxmsV+VdW5pMMpDNIOzcd6Gk/NFwBbg/9xeULr5CZ U6xh52sWw0zcCaj3cpPd7Hipdrp9vmwhMqrrq8eRiueFg4bk/eSC/wHhIbeJL90UFmkm 9N0uyPw5P5SobjfqiFKWfvdAuhhsUXKkUyiwPwU50eSsTzR9qDzEbW6Tp+wlhkHb5253 qEliaVMH6r8I6J4U0d04R9ijWEw0dyNAI6s2mNKBrQpvR6K1SESI4CycKbjY/XdQqkjF H8ILfB/jxpkQQVwGdoXg6wyy5v//fe/Hd3lhpwW8yFTHdCz20kvvBsE30kwR1ki815j/ e17g== X-Gm-Message-State: AOJu0Ywh7Gd+DWQlHOSbmRhjOTxLU5IGRY5dT3F25IGoIhzjQ5kBWPnr IITGC3564NEFCbEK51YpjZNkiWnEx739nS3yUj3jK5LwMbuUqTcw/5vWyzv4pQPkbveCXDs3ZNT ZXbhK6D9e/9cL2unP3GCsSym4zlBbMuVgpjcAEtA= X-Gm-Gg: AfdE7cmOG3ILMU3eMf0y+WAaJdYHUUYo9YFwzRB8NtvTO1VVV7Iz9mOvpQt41SqR+BH xgkYimHuzVZ1w6caQWFwNKQRD1NjpVH49OeRHnrA27b+5nn3UARobg0lI7Zau+R9sD/MQKBDzIz 5ihw+mXDo3W2q9zECjoK8RFDL7t5H7rSCQJvsRPaaUjPLXxqB53iCpMFwSig3zVvvoQ68jaZkWM /jVVkcFJNNcy8fx5Bw/b/JeJfsQttI/lXWENuHgEReWPvNvD9dzXAkbxdaXiY97hQ0MAQK+ X-Received: by 2002:a05:6830:6d8d:b0:7e6:f2dd:93c3 with SMTP id 46e09a7af769-7ebcff54692mr4121727a34.15.1783592041409; Thu, 09 Jul 2026 03:14:01 -0700 (PDT) MIME-Version: 1.0 From: Vismay Tiwari Date: Thu, 9 Jul 2026 15:43:50 +0530 X-Gm-Features: AUfX_mz92ySmv6X9n8YRvVU15Aq_XroVlgrhaPNRCBZpDMfbArxjWYXcRp4YkCQ Message-ID: Subject: Re: BUG #19523: psql tab-completion shadows pg_db_role_setting To: pgsql-bugs@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000000d909306562ae269" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000d909306562ae269 Content-Type: text/plain; charset="UTF-8" Hi, Reproduced on current master. The tab-completion query for "ALTER DATABASE ... RESET" (Query_for_list_of_database_vars) references pg_db_role_setting and pg_database without a pg_catalog qualification, so a same-named table earlier in search_path shadows the catalog: CREATE SCHEMA attacker; CREATE TABLE attacker.pg_db_role_setting (setdatabase oid, setrole oid, setconfig text[]); INSERT INTO attacker.pg_db_role_setting SELECT oid, 0, ARRAY['evil_var=x'] FROM pg_database WHERE datname = 'postgres'; SET search_path = attacker, pg_catalog; -- "ALTER DATABASE postgres RESET " then offers evil_var The attached patch qualifies both catalogs with pg_catalog, matching the qualification already used for unnest()/split_part() in the same query and for the catalogs in the analogous subscription-variable completion query. No test is included -- tab-completion query internals aren't covered by the TAP suite, and this follows the earlier qualification fixes in the same area. Affects v18 and master (the query was added in v18). Regards, Vismay Tiwari --0000000000000d909306562ae269 Content-Type: application/octet-stream; name="v1-0001-psql-schema-qualify-catalog-references-in-a-tab-c.patch" Content-Disposition: attachment; filename="v1-0001-psql-schema-qualify-catalog-references-in-a-tab-c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mrdcms3z0 RnJvbSA0NTA3NzIzNzIwZjcxMDVjNWE1OGFiOWZkYTc3NjQwNWY3MDNiODEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB2aXNtYXl0aXdhcmkgPHZpc21heS50QGdtYWlsLmNvbT4KRGF0 ZTogVGh1LCA5IEp1bCAyMDI2IDE1OjM1OjUxICswNTMwClN1YmplY3Q6IFtQQVRDSCB2MV0gcHNx bDogc2NoZW1hLXF1YWxpZnkgY2F0YWxvZyByZWZlcmVuY2VzIGluIGEKIHRhYi1jb21wbGV0aW9u IHF1ZXJ5CgpUaGUgdGFiLWNvbXBsZXRpb24gcXVlcnkgYmVoaW5kIFF1ZXJ5X2Zvcl9saXN0X29m X2RhdGFiYXNlX3ZhcnMgcmVmZXJlbmNlZApwZ19kYl9yb2xlX3NldHRpbmcgYW5kIHBnX2RhdGFi YXNlIHdpdGhvdXQgc2NoZW1hIHF1YWxpZmljYXRpb24uICBBIHRhYmxlIG9mCnRoZSBzYW1lIG5h bWUgZWFybGllciBpbiB0aGUgdXNlcidzIHNlYXJjaF9wYXRoIHRoZXJlZm9yZSBzaGFkb3dzIHRo ZSBjYXRhbG9nCmFuZCBmZWVkcyBhcmJpdHJhcnkgdmFsdWVzIGludG8gdGhlIGNvbXBsZXRpb24g c3VnZ2VzdGlvbnMgZm9yCiJBTFRFUiBEQVRBQkFTRSAuLi4gUkVTRVQiLiAgUXVhbGlmeSBib3Ro IHdpdGggcGdfY2F0YWxvZywgbWF0Y2hpbmcgdGhlCnF1YWxpZmljYXRpb24gYWxyZWFkeSBhcHBs aWVkIHRvIHVubmVzdCgpL3NwbGl0X3BhcnQoKSBpbiB0aGlzIHNhbWUgcXVlcnkgYW5kCnRvIHRo ZSBjYXRhbG9ncyBpbiB0aGUgYW5hbG9nb3VzIHN1YnNjcmlwdGlvbi12YXJpYWJsZSBjb21wbGV0 aW9uIHF1ZXJ5LgoKUmVwb3J0ZWQtYnk6IFpob3UgRGlnb2FsCkJ1ZzogIzE5NTIzCkRpc2N1c3Np b246IGh0dHBzOi8vcG9zdGdyLmVzL20vMTk1MjMtNDI0NDU3MTE4MjAyZjU3MEBwb3N0Z3Jlc3Fs Lm9yZwotLS0KIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyB8IDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRl LmluLmMKaW5kZXggNDllYTU4NC4uNmE4ODQ3MCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3Rh Yi1jb21wbGV0ZS5pbi5jCisrKyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpAQCAt MTA0MCw4ICsxMDQwLDggQEAgc3RhdGljIGNvbnN0IFNjaGVtYVF1ZXJ5IFF1ZXJ5X2Zvcl90cmln Z2VyX29mX3RhYmxlID0gewogI2RlZmluZSBRdWVyeV9mb3JfbGlzdF9vZl9kYXRhYmFzZV92YXJz IFwKICJTRUxFQ1QgY29uZiBGUk9NICgiXAogIiAgICAgICBTRUxFQ1Qgc2V0ZGF0YWJhc2UsIHBn X2NhdGFsb2cuc3BsaXRfcGFydChwZ19jYXRhbG9nLnVubmVzdChzZXRjb25maWcpLCc9JywxKSBj b25mIlwKLSIgICAgICAgICBGUk9NIHBnX2RiX3JvbGVfc2V0dGluZyAiXAotIiAgICAgICApIHMs IHBnX2RhdGFiYXNlIGQgIlwKKyIgICAgICAgICBGUk9NIHBnX2NhdGFsb2cucGdfZGJfcm9sZV9z ZXR0aW5nICJcCisiICAgICAgICkgcywgcGdfY2F0YWxvZy5wZ19kYXRhYmFzZSBkICJcCiAiIFdI RVJFIHMuc2V0ZGF0YWJhc2UgPSBkLm9pZCAiXAogIiAgIEFORCBjb25mIExJS0UgJyVzJyJcCiAi ICAgQU5EIGQuZGF0bmFtZSBMSUtFICclcyciCi0tIAoyLjUwLjEgKEFwcGxlIEdpdC0xNTUpCgo= --0000000000000d909306562ae269--