A security flaw was found in the way PostgreSQL, an advanced Object-Relational database management system (DBMS), performed inclusion of additional procedural language plug-ins support into PostgreSQL server. Previously, database administrators were allowed to install trusted procedural languages into their databases and the owner of such procedural language function were allowed to execute ALTER FUNCTION statement. If a procedural language plug-in was enabled on the particular database, an authenticated database administrator could use this flaw to cause denial of service (PostgreSQL server crash) by adding SECURITY DEFINER or SET attributes to such a handler function.
Public via: [1] http://archives.postgresql.org/pgsql-hackers/2012-05/msg01471.php
This issue did NOT affect the version of the postgresql package, as shipped with Red Hat Enterprise Linux 5. In PostgreSQL 8.1.23 version: http://www.postgresql.org/docs/8.1/static/ only superusers are allowed to install procedural languages. Thus while the bug exists in that version too, the superuser requirement / condition is making it not to be a security flaw for this particular version. -- This issue affects the version of the postgresql84 package, as shipped with Red Hat Enterprise Linux 5. -- This issue affects the version of the postgresql package, as shipped with Red Hat Enterprise Linux 6. -- This issue affects the versions of the postgresql package, as shipped with Fedora release of 15 and 16.
Created postgresql tracking bugs for this issue Affects: fedora-all [bug 826606]
(In reply to comment #3) > This issue affects the versions of the postgresql and postgresql84 packages, > as shipped with Red Hat Enterprise Linux 5. Actually I don't think this is a security issue for Postgres 8.1 (which is what is in the RHEL5 postgresql package). In 8.1, non-superusers can't create procedural languages. So while the bug exists there, it can only be triggered by a superuser; which makes it not a security issue, because superusers ought to know better (and have plenty of better ways than this to mess up the server, anyway). We do need to fix it in postgresql84, as well as RHEL6 postgresql.
Documented on upstream security page: http://www.postgresql.org/support/security/ and corrected in 9.1.4, 9.0.8, 8.4.12, and 8.3.19 releases: http://www.postgresql.org/docs/devel/static/release-9-1-4.html http://www.postgresql.org/docs/devel/static/release-9-0-8.html http://www.postgresql.org/docs/8.4/static/release-8-4-12.html http://www.postgresql.org/docs/devel/static/release-8-3-19.html
(In reply to comment #7) > (In reply to comment #3) > > This issue affects the versions of the postgresql and postgresql84 packages, > > as shipped with Red Hat Enterprise Linux 5. > > Actually I don't think this is a security issue for Postgres 8.1 (which is > what is in the RHEL5 postgresql package). In 8.1, non-superusers can't > create procedural languages. So while the bug exists there, it can only be > triggered by a superuser; which makes it not a security issue, because > superusers ought to know better (and have plenty of better ways than this to > mess up the server, anyway). > > We do need to fix it in postgresql84, as well as RHEL6 postgresql. Thank you for the correction, Tom.
This issue has been addressed in following products: Red Hat Enterprise Linux 5 Red Hat Enterprise Linux 6 Via RHSA-2012:1037 https://rhn.redhat.com/errata/RHSA-2012-1037.html