mirror of
https://github.com/postgres/postgres.git
synced 2025-08-28 18:48:04 +03:00
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
This commit is contained in:
@@ -624,6 +624,7 @@ extern Oid get_fn_expr_argtype(FmgrInfo *flinfo, int argnum);
|
||||
extern Oid get_call_expr_argtype(fmNodePtr expr, int argnum);
|
||||
extern bool get_fn_expr_arg_stable(FmgrInfo *flinfo, int argnum);
|
||||
extern bool get_call_expr_arg_stable(fmNodePtr expr, int argnum);
|
||||
extern bool CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid);
|
||||
|
||||
/*
|
||||
* Routines in dfmgr.c
|
||||
|
Reference in New Issue
Block a user