Prevent privilege escalation in explicit calls to PL validators.

Noah Misch <noah@leadboat.com>

Commit: fc4a04a3c4f49ac8a74241401ffd5118c4d00842
Author: Noah Misch <noah@leadboat.com>
Date: 2014-02-17T14:33:32Z
Releases: 9.3.3
Prevent privilege escalation in explicit calls to PL validators.

The primary role of PL validators is to be called implicitly during
CREATE FUNCTION, but they are also normal functions that a user can call
explicitly.  Add a permissions check to each validator to ensure that a
user cannot use explicit validator calls to achieve things he could not
otherwise achieve.  Back-patch to 8.4 (all supported versions).
Non-core procedural language extensions ought to make the same two-line
change to their own validators.

Andres Freund, reviewed by Tom Lane and Noah Misch.

Security: CVE-2014-0061

Files