aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistutil.c
diff options
context:
space:
mode:
authorNoah Misch <noah@leadboat.com>2023-08-07 06:05:56 -0700
committerNoah Misch <noah@leadboat.com>2023-08-07 06:06:00 -0700
commitb1b585e0fc3dd195bc2e338c80760bede08de5f1 (patch)
treef5ec2e58d5142db7e336584caaba928882e748e3 /src/backend/access/gist/gistutil.c
parent2f89d0c97d25fdb7920a5709267f996ef47fcebd (diff)
downloadpostgresql-b1b585e0fc3dd195bc2e338c80760bede08de5f1.tar.gz
postgresql-b1b585e0fc3dd195bc2e338c80760bede08de5f1.zip
Reject substituting extension schemas or owners matching ["$'\].
Substituting such values in extension scripts facilitated SQL injection when @extowner@, @extschema@, or @extschema:...@ appeared inside a quoting construct (dollar quoting, '', or ""). No bundled extension was vulnerable. Vulnerable uses do appear in a documentation example and in non-bundled extensions. Hence, the attack prerequisite was an administrator having installed files of a vulnerable, trusted, non-bundled extension. Subject to that prerequisite, this enabled an attacker having database-level CREATE privilege to execute arbitrary code as the bootstrap superuser. By blocking this attack in the core server, there's no need to modify individual extensions. Back-patch to v11 (all supported versions). Reported by Micah Gate, Valerie Woolard, Tim Carey-Smith, and Christoph Berg. Security: CVE-2023-39417
Diffstat (limited to 'src/backend/access/gist/gistutil.c')
0 files changed, 0 insertions, 0 deletions