Prevent privilege escalation in explicit calls to PL validators.

Noah Misch <noah@leadboat.com>

Commit: 537cbd35c893e67a63c59bc636c3e888bd228bc7
Author: Noah Misch <noah@leadboat.com>
Date: 2014-02-17T14:33:31Z
Releases: 9.4.0
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