New bug fix releases: 8.3.19, 8.4.12, 9.1.4

Bug #1008317 reported by Martin Pitt
258
This bug affects 1 person
Affects Status Importance Assigned to Milestone
postgresql-8.3 (Ubuntu)
Invalid
Undecided
Unassigned
Hardy
Fix Released
Undecided
Marc Deslauriers
postgresql-8.4 (Ubuntu)
Invalid
Undecided
Martin Pitt
Lucid
Fix Released
Undecided
Marc Deslauriers
Natty
Fix Released
Undecided
Marc Deslauriers
postgresql-9.1 (Ubuntu)
Fix Released
Undecided
Martin Pitt
Oneiric
Fix Released
Undecided
Marc Deslauriers
Precise
Fix Released
Undecided
Marc Deslauriers
Quantal
Fix Released
Undecided
Martin Pitt

Bug Description

PostgreSQL will push out new microreleases today which also fix two security issues.

-------------------- 8< -------------------

This update includes two security fixes for the following issues:

   - CVE-2012-2143 <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2143>:
   Fix incorrect password transformation in contrib/pgcrypto’s DES crypt()
   function

This vulnerability affects PostgreSQL users who use the crypt(text,
text) function (in the optional pg_crypto module) with DES encryption
and non-ASCII passwords. Passwords affected are those that contain the
byte value 0x80. Characters after such a byte were ignored, making the
effective password shorter and easier to crack than it should be. After
the upgrade, any passwords containing such bytes will need to be
regenerated.

   - CVE-2012-2655 <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2655>:
   Ignore SECURITY DEFINER and SET attributes for a procedural language’s call
   handler

Applying such attributes to a call handler could crash the server.
-------------------- 8< -------------------

This fixes a security issue and several bugs, as usual. As per the standing microrelease exception these should go into stables.

Martin Pitt (pitti)
Changed in postgresql-9.1 (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
Changed in postgresql-8.4 (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
no longer affects: postgresql-8.3 (Ubuntu Lucid)
no longer affects: postgresql-9.1 (Ubuntu Hardy)
no longer affects: postgresql-8.3 (Ubuntu Quantal)
no longer affects: postgresql-9.1 (Ubuntu Lucid)
no longer affects: postgresql-8.3 (Ubuntu Natty)
no longer affects: postgresql-9.1 (Ubuntu Natty)
no longer affects: postgresql-8.3 (Ubuntu Oneiric)
no longer affects: postgresql-8.4 (Ubuntu Quantal)
no longer affects: postgresql-8.3 (Ubuntu Precise)
Changed in postgresql-8.3 (Ubuntu):
status: New → Invalid
no longer affects: postgresql-8.4 (Ubuntu Hardy)
Changed in postgresql-8.4 (Ubuntu):
status: New → Invalid
no longer affects: postgresql-8.4 (Ubuntu Precise)
no longer affects: postgresql-8.4 (Ubuntu Oneiric)
Martin Pitt (pitti)
summary: - New bug fix releases: 9.1.4, 8.4.12
+ New bug fix releases: 8.3.19, 9.1.4, 8.4.12
summary: - New bug fix releases: 8.3.19, 9.1.4, 8.4.12
+ New bug fix releases: 8.3.19, 8.4.12, 9.1.4
Revision history for this message
Martin Pitt (pitti) wrote :

postgresql-9.1 update for Quantal will be uploaded to Debian sid and autosynced.

Changed in postgresql-9.1 (Ubuntu Quantal):
status: New → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

Updates for all supported releases prepared at http://people.canonical.com/~pitti/packages/psql/ and tested with upstream and postgresql-common test suites.

I will make this bug public when the upstream announcement gets published; ETA 1300 UTC today.

Changed in postgresql-9.1 (Ubuntu Precise):
status: New → Fix Committed
Changed in postgresql-9.1 (Ubuntu Oneiric):
status: New → Fix Committed
Changed in postgresql-8.4 (Ubuntu Natty):
status: New → Fix Committed
Changed in postgresql-8.4 (Ubuntu Lucid):
status: New → Fix Committed
Changed in postgresql-8.3 (Ubuntu Hardy):
status: New → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :
visibility: private → public
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Thanks pitti, I'll publish these.

Changed in postgresql-8.3 (Ubuntu Hardy):
assignee: nobody → Marc Deslauriers (mdeslaur)
Changed in postgresql-8.4 (Ubuntu Natty):
assignee: nobody → Marc Deslauriers (mdeslaur)
Changed in postgresql-9.1 (Ubuntu Precise):
assignee: nobody → Marc Deslauriers (mdeslaur)
Changed in postgresql-8.4 (Ubuntu Lucid):
assignee: nobody → Marc Deslauriers (mdeslaur)
Changed in postgresql-9.1 (Ubuntu Oneiric):
assignee: nobody → Marc Deslauriers (mdeslaur)
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (8.4 KiB)

This bug was fixed in the package postgresql-9.1 - 9.1.4-0ubuntu12.04

---------------
postgresql-9.1 (9.1.4-0ubuntu12.04) precise-security; urgency=low

  * New upstream bug fix/security release: (LP: #1008317)
    - Fix incorrect password transformation in "contrib/pgcrypto"'s DES
      crypt() function.
      If a password string contained the byte value 0x80, the remainder
      of the password was ignored, causing the password to be much weaker
      than it appeared. With this fix, the rest of the string is properly
      included in the DES hash. Any stored password values that are
      affected by this bug will thus no longer match, so the stored
      values may need to be updated. (CVE-2012-2143)
    - Ignore SECURITY DEFINER and SET attributes for a procedural
      language's call handler. Applying such attributes to a call handler
      could crash the server. (CVE-2012-2655)
    - Make "contrib/citext"'s upgrade script fix collations of citext
      arrays and domains over citext.
      Release 9.1.2 provided a fix for collations of citext columns and
      indexes in databases upgraded or reloaded from pre-9.1
      installations, but that fix was incomplete: it neglected to handle
      arrays and domains over citext. This release extends the module's
      upgrade script to handle these cases. As before, if you have
      already run the upgrade script, you'll need to run the collation
      update commands by hand instead. See the 9.1.2 release notes for
      more information about doing this.
    - Allow numeric timezone offsets in timestamp input to be up to 16
      hours away from UTC. Some historical time zones have offsets larger than
      15 hours, the previous limit. This could result in dumped data values
      being rejected during reload.
    - Fix timestamp conversion to cope when the given time is exactly the
      last DST transition time for the current timezone.
      This oversight has been there a long time, but was not noticed
      previously because most DST-using zones are presumed to have an
      indefinite sequence of future DST transitions.
    - Fix text to name and char to name casts to perform string
      truncation correctly in multibyte encodings.
    - Fix memory copying bug in to_tsquery().
    - Ensure txid_current() reports the correct epoch when executed in
      hot standby.
    - Fix planner's handling of outer PlaceHolderVars within subqueries.
      This bug concerns sub-SELECTs that reference variables coming from
      the nullable side of an outer join of the surrounding query. In
      9.1, queries affected by this bug would fail with "ERROR:
      Upper-level PlaceHolderVar found where not expected". But in 9.0
      and 8.4, you'd silently get possibly-wrong answers, since the value
      transmitted into the subquery wouldn't go to null when it should.
    - Fix planning of UNION ALL subqueries with output columns that are
      not simple variables.
      Planning of such cases got noticeably worse in 9.1 as a result of a
      misguided fix for "MergeAppend child's targetlist doesn't match
      MergeAppend" errors. Revert that fix and do it another way.
    - Fix slow ses...

Read more...

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (8.4 KiB)

This bug was fixed in the package postgresql-9.1 - 9.1.4-0ubuntu11.10

---------------
postgresql-9.1 (9.1.4-0ubuntu11.10) oneiric-security; urgency=low

  * New upstream bug fix/security release: (LP: #1008317)
    - Fix incorrect password transformation in "contrib/pgcrypto"'s DES
      crypt() function.
      If a password string contained the byte value 0x80, the remainder
      of the password was ignored, causing the password to be much weaker
      than it appeared. With this fix, the rest of the string is properly
      included in the DES hash. Any stored password values that are
      affected by this bug will thus no longer match, so the stored
      values may need to be updated. (CVE-2012-2143)
    - Ignore SECURITY DEFINER and SET attributes for a procedural
      language's call handler. Applying such attributes to a call handler
      could crash the server. (CVE-2012-2655)
    - Make "contrib/citext"'s upgrade script fix collations of citext
      arrays and domains over citext.
      Release 9.1.2 provided a fix for collations of citext columns and
      indexes in databases upgraded or reloaded from pre-9.1
      installations, but that fix was incomplete: it neglected to handle
      arrays and domains over citext. This release extends the module's
      upgrade script to handle these cases. As before, if you have
      already run the upgrade script, you'll need to run the collation
      update commands by hand instead. See the 9.1.2 release notes for
      more information about doing this.
    - Allow numeric timezone offsets in timestamp input to be up to 16
      hours away from UTC. Some historical time zones have offsets larger than
      15 hours, the previous limit. This could result in dumped data values
      being rejected during reload.
    - Fix timestamp conversion to cope when the given time is exactly the
      last DST transition time for the current timezone.
      This oversight has been there a long time, but was not noticed
      previously because most DST-using zones are presumed to have an
      indefinite sequence of future DST transitions.
    - Fix text to name and char to name casts to perform string
      truncation correctly in multibyte encodings.
    - Fix memory copying bug in to_tsquery().
    - Ensure txid_current() reports the correct epoch when executed in
      hot standby.
    - Fix planner's handling of outer PlaceHolderVars within subqueries.
      This bug concerns sub-SELECTs that reference variables coming from
      the nullable side of an outer join of the surrounding query. In
      9.1, queries affected by this bug would fail with "ERROR:
      Upper-level PlaceHolderVar found where not expected". But in 9.0
      and 8.4, you'd silently get possibly-wrong answers, since the value
      transmitted into the subquery wouldn't go to null when it should.
    - Fix planning of UNION ALL subqueries with output columns that are
      not simple variables.
      Planning of such cases got noticeably worse in 9.1 as a result of a
      misguided fix for "MergeAppend child's targetlist doesn't match
      MergeAppend" errors. Revert that fix and do it another way.
    - Fix slow ses...

Read more...

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.9 KiB)

This bug was fixed in the package postgresql-8.4 - 8.4.12-0ubuntu11.04

---------------
postgresql-8.4 (8.4.12-0ubuntu11.04) natty-security; urgency=low

  * New upstream security/bug fix release: (LP: #1008317)
    - Fix incorrect password transformation in "contrib/pgcrypto"'s DES
      crypt() function.
      If a password string contained the byte value 0x80, the remainder
      of the password was ignored, causing the password to be much weaker
      than it appeared. With this fix, the rest of the string is properly
      included in the DES hash. Any stored password values that are
      affected by this bug will thus no longer match, so the stored
      values may need to be updated. (CVE-2012-2143)
    - Ignore SECURITY DEFINER and SET attributes for a procedural
      language's call handler.
      Applying such attributes to a call handler could crash the server.
      (CVE-2012-2655)
    - Allow numeric timezone offsets in timestamp input to be up to 16
      hours away from UTC.
      Some historical time zones have offsets larger than 15 hours, the
      previous limit. This could result in dumped data values being
      rejected during reload.
    - Fix timestamp conversion to cope when the given time is exactly the
      last DST transition time for the current timezone.
      This oversight has been there a long time, but was not noticed
      previously because most DST-using zones are presumed to have an
      indefinite sequence of future DST transitions.
    - Fix text to name and char to name casts to perform string
      truncation correctly in multibyte encodings.
    - Fix memory copying bug in to_tsquery().
    - Fix planner's handling of outer PlaceHolderVars within subqueries.
      This bug concerns sub-SELECTs that reference variables coming from
      the nullable side of an outer join of the surrounding query. In
      9.1, queries affected by this bug would fail with "ERROR:
      Upper-level PlaceHolderVar found where not expected". But in 9.0
      and 8.4, you'd silently get possibly-wrong answers, since the value
      transmitted into the subquery wouldn't go to null when it should.
    - Fix slow session startup when pg_attribute is very large.
      If pg_attribute exceeds one-fourth of shared_buffers, cache
      rebuilding code that is sometimes needed during session start would
      trigger the synchronized-scan logic, causing it to take many times
      longer than normal. The problem was particularly acute if many new
      sessions were starting at once.
    - Ensure sequential scans check for query cancel reasonably often.
      A scan encountering many consecutive pages that contain no live
      tuples would not respond to interrupts meanwhile.
    - Ensure the Windows implementation of PGSemaphoreLock() clears
      ImmediateInterruptOK before returning.
      This oversight meant that a query-cancel interrupt received later
      in the same query could be accepted at an unsafe time, with
      unpredictable but not good consequences.
    - Show whole-row variables safely when printing views or rules.
      Corner cases involving ambiguous names (that is, the name could be
      either a tab...

Read more...

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.9 KiB)

This bug was fixed in the package postgresql-8.4 - 8.4.12-0ubuntu10.04

---------------
postgresql-8.4 (8.4.12-0ubuntu10.04) lucid-security; urgency=low

  * New upstream security/bug fix release: (LP: #1008317)
    - Fix incorrect password transformation in "contrib/pgcrypto"'s DES
      crypt() function.
      If a password string contained the byte value 0x80, the remainder
      of the password was ignored, causing the password to be much weaker
      than it appeared. With this fix, the rest of the string is properly
      included in the DES hash. Any stored password values that are
      affected by this bug will thus no longer match, so the stored
      values may need to be updated. (CVE-2012-2143)
    - Ignore SECURITY DEFINER and SET attributes for a procedural
      language's call handler.
      Applying such attributes to a call handler could crash the server.
      (CVE-2012-2655)
    - Allow numeric timezone offsets in timestamp input to be up to 16
      hours away from UTC.
      Some historical time zones have offsets larger than 15 hours, the
      previous limit. This could result in dumped data values being
      rejected during reload.
    - Fix timestamp conversion to cope when the given time is exactly the
      last DST transition time for the current timezone.
      This oversight has been there a long time, but was not noticed
      previously because most DST-using zones are presumed to have an
      indefinite sequence of future DST transitions.
    - Fix text to name and char to name casts to perform string
      truncation correctly in multibyte encodings.
    - Fix memory copying bug in to_tsquery().
    - Fix planner's handling of outer PlaceHolderVars within subqueries.
      This bug concerns sub-SELECTs that reference variables coming from
      the nullable side of an outer join of the surrounding query. In
      9.1, queries affected by this bug would fail with "ERROR:
      Upper-level PlaceHolderVar found where not expected". But in 9.0
      and 8.4, you'd silently get possibly-wrong answers, since the value
      transmitted into the subquery wouldn't go to null when it should.
    - Fix slow session startup when pg_attribute is very large.
      If pg_attribute exceeds one-fourth of shared_buffers, cache
      rebuilding code that is sometimes needed during session start would
      trigger the synchronized-scan logic, causing it to take many times
      longer than normal. The problem was particularly acute if many new
      sessions were starting at once.
    - Ensure sequential scans check for query cancel reasonably often.
      A scan encountering many consecutive pages that contain no live
      tuples would not respond to interrupts meanwhile.
    - Ensure the Windows implementation of PGSemaphoreLock() clears
      ImmediateInterruptOK before returning.
      This oversight meant that a query-cancel interrupt received later
      in the same query could be accepted at an unsafe time, with
      unpredictable but not good consequences.
    - Show whole-row variables safely when printing views or rules.
      Corner cases involving ambiguous names (that is, the name could be
      either a tab...

Read more...

Changed in postgresql-8.4 (Ubuntu Lucid):
status: Fix Committed → Fix Released
Changed in postgresql-8.4 (Ubuntu Natty):
status: Fix Committed → Fix Released
Changed in postgresql-9.1 (Ubuntu Oneiric):
status: Fix Committed → Fix Released
Changed in postgresql-9.1 (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.8 KiB)

This bug was fixed in the package postgresql-8.3 - 8.3.19-0ubuntu8.04

---------------
postgresql-8.3 (8.3.19-0ubuntu8.04) hardy-security; urgency=low

  * New upstream bug fix/security release: (LP: #1008317):
    - Fix incorrect password transformation in "contrib/pgcrypto"'s DES
      crypt() function.
      If a password string contained the byte value 0x80, the remainder
      of the password was ignored, causing the password to be much weaker
      than it appeared. With this fix, the rest of the string is properly
      included in the DES hash. Any stored password values that are
      affected by this bug will thus no longer match, so the stored
      values may need to be updated. (CVE-2012-2143)
    - Ignore SECURITY DEFINER and SET attributes for a procedural
      language's call handler.
      Applying such attributes to a call handler could crash the server.
      (CVE-2012-2655)
    - Allow numeric timezone offsets in timestamp input to be up to 16
      hours away from UTC.
      Some historical time zones have offsets larger than 15 hours, the
      previous limit. This could result in dumped data values being
      rejected during reload.
    - Fix timestamp conversion to cope when the given time is exactly the
      last DST transition time for the current timezone.
      This oversight has been there a long time, but was not noticed
      previously because most DST-using zones are presumed to have an
      indefinite sequence of future DST transitions.
    - Fix text to name and char to name casts to perform string
      truncation correctly in multibyte encodings.
    - Fix memory copying bug in to_tsquery().
    - Fix slow session startup when pg_attribute is very large.
      If pg_attribute exceeds one-fourth of shared_buffers, cache
      rebuilding code that is sometimes needed during session start would
      trigger the synchronized-scan logic, causing it to take many times
      longer than normal. The problem was particularly acute if many new
      sessions were starting at once.
    - Ensure sequential scans check for query cancel reasonably often.
      A scan encountering many consecutive pages that contain no live
      tuples would not respond to interrupts meanwhile.
    - Ensure the Windows implementation of PGSemaphoreLock() clears
      ImmediateInterruptOK before returning.
      This oversight meant that a query-cancel interrupt received later
      in the same query could be accepted at an unsafe time, with
      unpredictable but not good consequences.
    - Show whole-row variables safely when printing views or rules.
      Corner cases involving ambiguous names (that is, the name could be
      either a table or column name of the query) were printed in an
      ambiguous way, risking that the view or rule would be interpreted
      differently after dump and reload. Avoid the ambiguous case by
      attaching a no-op cast.
    - Ensure autovacuum worker processes perform stack depth checking
      properly.
      Previously, infinite recursion in a function invoked by
      auto-"ANALYZE" could crash worker processes.
    - Fix logging collector to not lose log coherency under high load.
      ...

Read more...

Changed in postgresql-8.3 (Ubuntu Hardy):
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

postgresql-9.1 | 9.1.4-1 | quantal | source, amd64, armel, armhf, i386, powerpc

Changed in postgresql-9.1 (Ubuntu Quantal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.