1. 02 Feb, 2007 5 commits
    • Michael Meskes's avatar
    • Bruce Momjian's avatar
      Add: · 98df9001
      Bruce Momjian authored
      > 	o Allow column display reordering by recording a display,
      > 	  storage, and permanent id for every column?
      >
      > 	  http://archives.postgresql.org/pgsql-hackers/2006-12/msg00782.php
      >
      98df9001
    • Tom Lane's avatar
      Update release notes for security-related releases in all active branches. · bd01a4e3
      Tom Lane authored
      Security: CVE-2007-0555, CVE-2007-0556
      bd01a4e3
    • Tom Lane's avatar
      Repair failure to check that a table is still compatible with a previously · 5413eef8
      Tom Lane authored
      made query plan.  Use of ALTER COLUMN TYPE creates a hazard for cached
      query plans: they could contain Vars that claim a column has a different
      type than it now has.  Fix this by checking during plan startup that Vars
      at relation scan level match the current relation tuple descriptor.  Since
      at that point we already have at least AccessShareLock, we can be sure the
      column type will not change underneath us later in the query.  However,
      since a backend's locks do not conflict against itself, there is still a
      hole for an attacker to exploit: he could try to execute ALTER COLUMN TYPE
      while a query is in progress in the current backend.  Seal that hole by
      rejecting ALTER TABLE whenever the target relation is already open in
      the current backend.
      
      This is a significant security hole: not only can one trivially crash the
      backend, but with appropriate misuse of pass-by-reference datatypes it is
      possible to read out arbitrary locations in the server process's memory,
      which could allow retrieving database content the user should not be able
      to see.  Our thanks to Jeff Trout for the initial report.
      
      Security: CVE-2007-0556
      5413eef8
    • Tom Lane's avatar
      Repair insufficiently careful type checking for SQL-language functions: · f8eb75b6
      Tom Lane authored
      we should check that the function code returns the claimed result datatype
      every time we parse the function for execution.  Formerly, for simple
      scalar result types we assumed the creation-time check was sufficient, but
      this fails if the function selects from a table that's been redefined since
      then, and even more obviously fails if check_function_bodies had been OFF.
      
      This is a significant security hole: not only can one trivially crash the
      backend, but with appropriate misuse of pass-by-reference datatypes it is
      possible to read out arbitrary locations in the server process's memory,
      which could allow retrieving database content the user should not be able
      to see.  Our thanks to Jeff Trout for the initial report.
      
      Security: CVE-2007-0555
      f8eb75b6
  2. 01 Feb, 2007 21 commits
  3. 31 Jan, 2007 14 commits