Bug 503688 (CVE-2009-1387) - CVE-2009-1387 openssl: DTLS out-of-sequence message handling NULL deref DoS
Summary: CVE-2009-1387 openssl: DTLS out-of-sequence message handling NULL deref DoS
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2009-1387
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 501667 524292 1127896
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-06-02 08:25 UTC by Tomas Hoger
Modified: 2019-09-29 12:30 UTC (History)
1 user (show)

Fixed In Version: openssl-0.9.8n-1.fc11
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-22 15:26:31 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2009:1335 0 normal SHIPPED_LIVE Moderate: openssl security, bug fix, and enhancement update 2009-09-01 10:41:25 UTC

Description Tomas Hoger 2009-06-02 08:25:20 UTC
A flaw was found in OpenSSL's DTLS protocol implementation when handling out-of-sequence handshake messages.  Quoting Robin Seggelmann's description in the upstream bug report:

  http://rt.openssl.org/Ticket/Display.html?id=1838&user=guest&pass=guest

  Whenever a handshake message arrives with an unexpected sequence number,
  it is passed to the function dtls1_process_out_of_seq_message(). This
  function discards the data if the sequence number is lower than the
  expected value and buffers it, if is a future message. When discarding,
  the message fragment length remains 0 which indicates that nothing has
  to be buffered. Due to a misplaced if condition to check the length,
  sometimes fragments with no data but with the length of the dropped
  message are buffered. This causes a bus error when processing later.

NULL pointer dereference resulting in DTLS server crash can happen in dtls1_retrieve_buffered_fragment() when doing memcpy from frag->fragment.

Upstream patch:
  http://marc.info/?l=openssl-cvs&m=123871365032446&w=2

Issue is fixed in 1.0.0-beta2, not yet in the latest 0.9.8 version to date - 0.9.8k.

Comment 2 Tomas Hoger 2009-06-02 08:50:09 UTC
Upstream CVS commit link:
  http://cvs.openssl.org/chngview?cn=17958

Comment 4 Tomas Hoger 2009-06-02 09:26:23 UTC
This issue did not affect versions of openssl as shipped in Red Hat Enterprise Linux 3 and 4.

This issue affects openssl version as shipped in Red Hat Enterprise Linux 5 and it will be addressed in the openssl packages update in Red Hat Enterprise Linux 5.4.  There is no update planned before than, as both DTLS specification and OpenSSL's implementation is still in development and unlikely to be used in production environments.  There is no component shipped in Red Hat Enterprise Linux 5 using OpenSSL's DTLS implementation, except for OpenSSL's testing command line client - openssl.

Comment 5 errata-xmlrpc 2009-09-02 11:00:24 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2009:1335 https://rhn.redhat.com/errata/RHSA-2009-1335.html

Comment 6 errata-xmlrpc 2009-09-02 12:12:05 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2009:1335 https://rhn.redhat.com/errata/RHSA-2009-1335.html


Note You need to log in before you can comment on or make changes to this bug.