• Tom Lane's avatar
    Force PL and range-type support functions to be owned by a superuser. · ad0009e7
    Tom Lane authored
    We allow non-superusers to create procedural languages (with restrictions)
    and range datatypes.  Previously, the automatically-created support
    functions for these objects ended up owned by the creating user.  This
    represents a rather considerable security hazard, because the owning user
    might be able to alter a support function's definition in such a way as to
    crash the server, inject trojan-horse SQL code, or even execute arbitrary
    C code directly.  It appears that right now the only actually exploitable
    problem is the infinite-recursion bug fixed in the previous patch for
    CVE-2012-2655.  However, it's not hard to imagine that future additions of
    more ALTER FUNCTION capability might unintentionally open up new hazards.
    To forestall future problems, cause these support functions to be owned by
    the bootstrap superuser, not the user creating the parent object.
    ad0009e7
pg_proc.c 32.1 KB