]> granicus.if.org Git - postgresql/commit
Prevent execution of enum_recv() from SQL.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 4 Feb 2013 21:25:10 +0000 (16:25 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 4 Feb 2013 21:25:10 +0000 (16:25 -0500)
commit1180844f176bdff4b63b4a33824f6cd786deed59
tree0f6d9d0d3306273dc17d0086c0bc114b80d37be1
parent23ab69922652a9f6f6bbd1fe254081fa6a6e089f
Prevent execution of enum_recv() from SQL.

This function was misdeclared to take cstring when it should take internal.
This at least allows crashing the server, and in principle an attacker
might be able to use the function to examine the contents of server memory.

The correct fix is to adjust the system catalog contents (and fix the
regression tests that should have caught this but failed to).  However,
asking users to correct the catalog contents in existing installations
is a pain, so as a band-aid fix for the back branches, install a check
in enum_recv() to make it throw error if called with a cstring argument.
We will later revert this in HEAD in favor of correcting the catalogs.

Our thanks to Sumit Soni (via Secunia SVCRP) for reporting this issue.

Security: CVE-2013-0255
doc/src/sgml/release-8.3.sgml
doc/src/sgml/release-8.4.sgml
doc/src/sgml/release-9.0.sgml
doc/src/sgml/release-9.1.sgml
doc/src/sgml/release-9.2.sgml
src/backend/utils/adt/enum.c