Prevent privilege escalation in explicit calls to PL validators.

Noah Misch <noah@leadboat.com>

Commit: 823b9dc2566dbdbdab3c08b83adb64eb428b8ca5
Author: Noah Misch <noah@leadboat.com>
Date: 2014-02-17T14:33:38Z
Releases: 8.4.20
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