diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2017-11-06 10:29:17 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2017-11-06 10:29:40 -0500 |
commit | d5fe5fb232a4e57c66779b8b6acdcb458e9b8b9c (patch) | |
tree | 0fd0c6f82e3fbbc1284c2139b22af31b5c2480fe /doc/src/sgml/ref/commit.sgml | |
parent | ed546dd06195c27d92ae46f2bb1a74261bcb49e6 (diff) | |
download | postgresql-d5fe5fb232a4e57c66779b8b6acdcb458e9b8b9c.tar.gz postgresql-d5fe5fb232a4e57c66779b8b6acdcb458e9b8b9c.zip |
Make json{b}_populate_recordset() use the right tuple descriptor.
json{b}_populate_recordset() used the tuple descriptor created from the
query-level AS clause without worrying about whether it matched the actual
input record type. If it didn't, that would usually result in a crash,
though disclosure of server memory contents seems possible as well, for a
skilled attacker capable of issuing crafted SQL commands. Instead, use
the query-supplied descriptor only when there is no input tuple to look at,
and otherwise get a tuple descriptor based on the input tuple's own type
marking. The core code will detect any type mismatch in the latter case.
Michael Paquier and Tom Lane, per a report from David Rowley.
Back-patch to 9.3 where this functionality was introduced.
Security: CVE-2017-15098
Diffstat (limited to 'doc/src/sgml/ref/commit.sgml')
0 files changed, 0 insertions, 0 deletions