A flaw was found in the way PostgreSQL handled SQL functions, created with SECURITY DEFINER keyword and implemented in PL/Perl or PL/Tcl languages. Once the PL/Perl or PL/Tcl procedural language was registered on particular database, a remote, authenticated user, running a specially-crafted PL/Perl or PL/Tcl script could use this flaw to bypass intended PostgreSQL SECURITY DEFINER function definition refinement / protection mechanism, allowing them to run particular PostgreSQL function under their effective user ID, potentially leading to escalation of their privileges. References: [1] http://www.postgresql.org/docs/8.1/interactive/plperl.html [2] http://www.postgresql.org/docs/8.1/static/pltcl.html [3] http://www.postgresql.org/docs/8.1/interactive/sql-createfunction.html
Public via: [1] http://www.postgresql.org/docs/8.4/static/release-8-4-5.html [2] http://www.postgresql.org/docs/8.1/static/release.html#RELEASE-8-1-22
Created postgresql tracking bugs for this issue Affects: fedora-all [bug 640433]
This issue has been addressed in following products: Red Hat Enterprise Linux 4 Red Hat Enterprise Linux 5 Via RHSA-2010:0742 https://rhn.redhat.com/errata/RHSA-2010-0742.html
Upstream wiki page with additional details and FAQ: http://wiki.postgresql.org/wiki/20101005securityrelease
This issue has been addressed in following products: Red Hat Enterprise Linux 6 Via RHSA-2010:0908 https://rhn.redhat.com/errata/RHSA-2010-0908.html