postgres.git / summary / log / commit / refs
commit 405f02b083a34abc68ef6e01056380cc3858ad91
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu May 13 21:27:15 2010 +0000
First released in: 9.0.0, 7.4.29, 8.0.25, 8.1.21, 8.2.17, 8.3.11, 8.4.4
Update release notes with security issues.
Security: CVE-2010-1169, CVE-2010-1170
doc/src/sgml/release-7.4.sgml | 42 +++++++++++++++++++++++++++++++++++++++++-
doc/src/sgml/release-8.0.sgml | 42 +++++++++++++++++++++++++++++++++++++++++-
doc/src/sgml/release-8.1.sgml | 42 +++++++++++++++++++++++++++++++++++++++++-
doc/src/sgml/release-8.2.sgml | 42 +++++++++++++++++++++++++++++++++++++++++-
doc/src/sgml/release-8.3.sgml | 42 +++++++++++++++++++++++++++++++++++++++++-
5 files changed, 205 insertions(+), 5 deletions(-)
diff --git a/doc/src/sgml/release-7.4.sgml b/doc/src/sgml/release-7.4.sgml
index a6434102b09..6131a9a4771 100644
--- a/doc/src/sgml/release-7.4.sgml
+++ b/doc/src/sgml/release-7.4.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-7.4.sgml,v 1.1.2.6 2010/05/12 23:27:36 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release-7.4.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-7-4-29">
@@ -37,6 +37,46 @@
<itemizedlist>
+ <listitem>
+ <para>
+ Enforce restrictions in <literal>plperl</> using an opmask applied to
+ the whole interpreter, instead of using <filename>Safe.pm</>
+ (Tim Bunce, Andrew Dunstan)
+ </para>
+
+ <para>
+ Recent developments have convinced us that <filename>Safe.pm</> is too
+ insecure to rely on for making <literal>plperl</> trustable. This
+ change removes use of <filename>Safe.pm</> altogether, in favor of using
+ a separate interpreter with an opcode mask that is always applied.
+ Pleasant side effects of the change include that it is now possible to
+ use Perl's <literal>strict</> pragma in a natural way in
+ <literal>plperl</>, and that Perl's <literal>$a</> and <literal>$b</>
+ variables work as expected in sort routines, and that function
+ compilation is significantly faster. (CVE-2010-1169)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent PL/Tcl from executing untrustworthy code from
+ <structname>pltcl_modules</> (Tom)
+ </para>
+
+ <para>
+ PL/Tcl's feature for autoloading Tcl code from a database table
+ could be exploited for trojan-horse attacks, because there was no
+ restriction on who could create or insert into that table. This change
+ disables the feature unless <structname>pltcl_modules</> is owned by a
+ superuser. (However, the permissions on the table are not checked, so
+ installations that really need a less-than-secure modules table can
+ still grant suitable privileges to trusted non-superusers.) Also,
+ prevent loading code into the unrestricted <quote>normal</> Tcl
+ interpreter unless we are really going to execute a <literal>pltclu</>
+ function. (CVE-2010-1170)
+ </para>
+ </listitem>
+
<listitem>
<para>
Do not allow an unprivileged user to reset superuser-only parameter
diff --git a/doc/src/sgml/release-8.0.sgml b/doc/src/sgml/release-8.0.sgml
index f10c0cd4919..03e63202053 100644
--- a/doc/src/sgml/release-8.0.sgml
+++ b/doc/src/sgml/release-8.0.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.0.sgml,v 1.1.2.6 2010/05/12 23:27:36 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.0.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-8-0-25">
@@ -37,6 +37,46 @@
<itemizedlist>
+ <listitem>
+ <para>
+ Enforce restrictions in <literal>plperl</> using an opmask applied to
+ the whole interpreter, instead of using <filename>Safe.pm</>
+ (Tim Bunce, Andrew Dunstan)
+ </para>
+
+ <para>
+ Recent developments have convinced us that <filename>Safe.pm</> is too
+ insecure to rely on for making <literal>plperl</> trustable. This
+ change removes use of <filename>Safe.pm</> altogether, in favor of using
+ a separate interpreter with an opcode mask that is always applied.
+ Pleasant side effects of the change include that it is now possible to
+ use Perl's <literal>strict</> pragma in a natural way in
+ <literal>plperl</>, and that Perl's <literal>$a</> and <literal>$b</>
+ variables work as expected in sort routines, and that function
+ compilation is significantly faster. (CVE-2010-1169)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent PL/Tcl from executing untrustworthy code from
+ <structname>pltcl_modules</> (Tom)
+ </para>
+
+ <para>
+ PL/Tcl's feature for autoloading Tcl code from a database table
+ could be exploited for trojan-horse attacks, because there was no
+ restriction on who could create or insert into that table. This change
+ disables the feature unless <structname>pltcl_modules</> is owned by a
+ superuser. (However, the permissions on the table are not checked, so
+ installations that really need a less-than-secure modules table can
+ still grant suitable privileges to trusted non-superusers.) Also,
+ prevent loading code into the unrestricted <quote>normal</> Tcl
+ interpreter unless we are really going to execute a <literal>pltclu</>
+ function. (CVE-2010-1170)
+ </para>
+ </listitem>
+
<listitem>
<para>
Do not allow an unprivileged user to reset superuser-only parameter
diff --git a/doc/src/sgml/release-8.1.sgml b/doc/src/sgml/release-8.1.sgml
index 24ce6e2fed4..b030418d6e3 100644
--- a/doc/src/sgml/release-8.1.sgml
+++ b/doc/src/sgml/release-8.1.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.1.sgml,v 1.1.2.6 2010/05/12 23:27:36 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.1.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-8-1-21">
@@ -31,6 +31,46 @@
<itemizedlist>
+ <listitem>
+ <para>
+ Enforce restrictions in <literal>plperl</> using an opmask applied to
+ the whole interpreter, instead of using <filename>Safe.pm</>
+ (Tim Bunce, Andrew Dunstan)
+ </para>
+
+ <para>
+ Recent developments have convinced us that <filename>Safe.pm</> is too
+ insecure to rely on for making <literal>plperl</> trustable. This
+ change removes use of <filename>Safe.pm</> altogether, in favor of using
+ a separate interpreter with an opcode mask that is always applied.
+ Pleasant side effects of the change include that it is now possible to
+ use Perl's <literal>strict</> pragma in a natural way in
+ <literal>plperl</>, and that Perl's <literal>$a</> and <literal>$b</>
+ variables work as expected in sort routines, and that function
+ compilation is significantly faster. (CVE-2010-1169)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent PL/Tcl from executing untrustworthy code from
+ <structname>pltcl_modules</> (Tom)
+ </para>
+
+ <para>
+ PL/Tcl's feature for autoloading Tcl code from a database table
+ could be exploited for trojan-horse attacks, because there was no
+ restriction on who could create or insert into that table. This change
+ disables the feature unless <structname>pltcl_modules</> is owned by a
+ superuser. (However, the permissions on the table are not checked, so
+ installations that really need a less-than-secure modules table can
+ still grant suitable privileges to trusted non-superusers.) Also,
+ prevent loading code into the unrestricted <quote>normal</> Tcl
+ interpreter unless we are really going to execute a <literal>pltclu</>
+ function. (CVE-2010-1170)
+ </para>
+ </listitem>
+
<listitem>
<para>
Do not allow an unprivileged user to reset superuser-only parameter
diff --git a/doc/src/sgml/release-8.2.sgml b/doc/src/sgml/release-8.2.sgml
index 9f50f2383a4..3f5ecec9769 100644
--- a/doc/src/sgml/release-8.2.sgml
+++ b/doc/src/sgml/release-8.2.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.2.sgml,v 1.1.2.6 2010/05/12 23:27:36 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.2.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-8-2-17">
@@ -31,6 +31,46 @@
<itemizedlist>
+ <listitem>
+ <para>
+ Enforce restrictions in <literal>plperl</> using an opmask applied to
+ the whole interpreter, instead of using <filename>Safe.pm</>
+ (Tim Bunce, Andrew Dunstan)
+ </para>
+
+ <para>
+ Recent developments have convinced us that <filename>Safe.pm</> is too
+ insecure to rely on for making <literal>plperl</> trustable. This
+ change removes use of <filename>Safe.pm</> altogether, in favor of using
+ a separate interpreter with an opcode mask that is always applied.
+ Pleasant side effects of the change include that it is now possible to
+ use Perl's <literal>strict</> pragma in a natural way in
+ <literal>plperl</>, and that Perl's <literal>$a</> and <literal>$b</>
+ variables work as expected in sort routines, and that function
+ compilation is significantly faster. (CVE-2010-1169)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent PL/Tcl from executing untrustworthy code from
+ <structname>pltcl_modules</> (Tom)
+ </para>
+
+ <para>
+ PL/Tcl's feature for autoloading Tcl code from a database table
+ could be exploited for trojan-horse attacks, because there was no
+ restriction on who could create or insert into that table. This change
+ disables the feature unless <structname>pltcl_modules</> is owned by a
+ superuser. (However, the permissions on the table are not checked, so
+ installations that really need a less-than-secure modules table can
+ still grant suitable privileges to trusted non-superusers.) Also,
+ prevent loading code into the unrestricted <quote>normal</> Tcl
+ interpreter unless we are really going to execute a <literal>pltclu</>
+ function. (CVE-2010-1170)
+ </para>
+ </listitem>
+
<listitem>
<para>
Fix possible crash if a cache reset message is received during
diff --git a/doc/src/sgml/release-8.3.sgml b/doc/src/sgml/release-8.3.sgml
index 31b07bfe151..95bb58ed9e8 100644
--- a/doc/src/sgml/release-8.3.sgml
+++ b/doc/src/sgml/release-8.3.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.3.sgml,v 1.1.2.6 2010/05/12 23:27:36 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.3.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-8-3-11">
@@ -31,6 +31,46 @@
<itemizedlist>
+ <listitem>
+ <para>
+ Enforce restrictions in <literal>plperl</> using an opmask applied to
+ the whole interpreter, instead of using <filename>Safe.pm</>
+ (Tim Bunce, Andrew Dunstan)
+ </para>
+
+ <para>
+ Recent developments have convinced us that <filename>Safe.pm</> is too
+ insecure to rely on for making <literal>plperl</> trustable. This
+ change removes use of <filename>Safe.pm</> altogether, in favor of using
+ a separate interpreter with an opcode mask that is always applied.
+ Pleasant side effects of the change include that it is now possible to
+ use Perl's <literal>strict</> pragma in a natural way in
+ <literal>plperl</>, and that Perl's <literal>$a</> and <literal>$b</>
+ variables work as expected in sort routines, and that function
+ compilation is significantly faster. (CVE-2010-1169)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent PL/Tcl from executing untrustworthy code from
+ <structname>pltcl_modules</> (Tom)
+ </para>
+
+ <para>
+ PL/Tcl's feature for autoloading Tcl code from a database table
+ could be exploited for trojan-horse attacks, because there was no
+ restriction on who could create or insert into that table. This change
+ disables the feature unless <structname>pltcl_modules</> is owned by a
+ superuser. (However, the permissions on the table are not checked, so
+ installations that really need a less-than-secure modules table can
+ still grant suitable privileges to trusted non-superusers.) Also,
+ prevent loading code into the unrestricted <quote>normal</> Tcl
+ interpreter unless we are really going to execute a <literal>pltclu</>
+ function. (CVE-2010-1170)
+ </para>
+ </listitem>
+
<listitem>
<para>
Fix possible crash if a cache reset message is received during
[parent: 36b4b365f7cd]