diff options
author | Noah Misch <noah@leadboat.com> | 2023-08-07 06:05:56 -0700 |
---|---|---|
committer | Noah Misch <noah@leadboat.com> | 2023-08-07 06:06:00 -0700 |
commit | eb044d8f0aee1ba4950b0867f6ca9328374318db (patch) | |
tree | b5ea0cc1980197d5997d0a3edfff966554c78536 /src/backend/commands/async.c | |
parent | 001561235787970ce91b60469498aac898dda866 (diff) | |
download | postgresql-eb044d8f0aee1ba4950b0867f6ca9328374318db.tar.gz postgresql-eb044d8f0aee1ba4950b0867f6ca9328374318db.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/commands/async.c')
0 files changed, 0 insertions, 0 deletions