git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 0c3185e) | patch
Ignore attempts to \gset into specially treated variables.
Mon, 9 Nov 2020 15:32:09 +0000 (07:32 -0800)
Mon, 9 Nov 2020 15:32:09 +0000 (07:32 -0800)
commit 098fb00799ffb026ff12c64bd21635f963cfc609
Ignore attempts to \gset into specially treated variables.

If an interactive psql session used \gset when querying a compromised
server, the attacker could execute arbitrary code as the operating
system account running psql. Using a prefix not found among specially
treated variables, e.g. every lowercase string, precluded the attack.
Fix by issuing a warning and setting no variable for the column in
question. Users wanting the old behavior can use a prefix and then a
meta-command like "\set HISTSIZE :prefix_HISTSIZE". Back-patch to 9.5
(all supported versions).

Reviewed by Robert Haas. Reported by Nick Cleaton.

Security: CVE-2020-25696
src/bin/psql/common.c diff | blob | blame | history
src/bin/psql/variables.c diff | blob | blame | history
src/bin/psql/variables.h diff | blob | blame | history
src/test/regress/expected/psql.out diff | blob | blame | history
src/test/regress/sql/psql.sql diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /