)]}'
{
  "commit": "48c054fec3506417b2598837b8062aae7114c200",
  "tree": "9dac3df7ae26efafada750558537e7ac82c219a0",
  "parents": [
    "c1ef7c971d0bbf117c3c80f65b5875e2e7b024b1"
  ],
  "author": {
    "name": "Matt Caswell",
    "email": "matt@openssl.org",
    "time": "Mon Sep 19 11:57:07 2016 +0100"
  },
  "committer": {
    "name": "Matt Caswell",
    "email": "matt@openssl.org",
    "time": "Wed Sep 21 20:37:53 2016 +0100"
  },
  "message": "Excessive allocation of memory in dtls1_preprocess_fragment()\n\nThis issue is very similar to CVE-2016-6307 described in the previous\ncommit. The underlying defect is different but the security analysis and\nimpacts are the same except that it impacts DTLS.\n\nA DTLS message includes 3 bytes for its length in the header for the\nmessage.\nThis would allow for messages up to 16Mb in length. Messages of this length\nare excessive and OpenSSL includes a check to ensure that a peer is sending\nreasonably sized messages in order to avoid too much memory being consumed\nto service a connection. A flaw in the logic of version 1.1.0 means that\nmemory for the message is allocated too early, prior to the excessive\nmessage length check. Due to way memory is allocated in OpenSSL this could\nmean an attacker could force up to 21Mb to be allocated to service a\nconnection. This could lead to a Denial of Service through memory\nexhaustion. However, the excessive message length check still takes place,\nand this would cause the connection to immediately fail. Assuming that the\napplication calls SSL_free() on the failed conneciton in a timely manner\nthen the 21Mb of allocated memory will then be immediately freed again.\nTherefore the excessive memory allocation will be transitory in nature.\nThis then means that there is only a security impact if:\n\n1) The application does not call SSL_free() in a timely manner in the\nevent that the connection fails\nor\n2) The application is working in a constrained environment where there\nis very little free memory\nor\n3) The attacker initiates multiple connection attempts such that there\nare multiple connections in a state where memory has been allocated for\nthe connection; SSL_free() has not yet been called; and there is\ninsufficient memory to service the multiple requests.\n\nExcept in the instance of (1) above any Denial Of Service is likely to\nbe transitory because as soon as the connection fails the memory is\nsubsequently freed again in the SSL_free() call. However there is an\nincreased risk during this period of application crashes due to the lack\nof memory - which would then mean a more serious Denial of Service.\n\nThis issue does not affect TLS users.\n\nIssue was reported by Shi Lei (Gear Team, Qihoo 360 Inc.).\n\nCVE-2016-6308\n\nReviewed-by: Richard Levitte \u003clevitte@openssl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7c8437a518b40eae7f0718549736b23d00cd6f82",
      "old_mode": 33188,
      "old_path": "ssl/statem/statem_dtls.c",
      "new_id": "7e23ad91a134dce4a085cd468b1470c5573df841",
      "new_mode": 33188,
      "new_path": "ssl/statem/statem_dtls.c"
    }
  ]
}
