<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.freebsd.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.freebsd.org/bugzilla/"
          
          maintainer="bugmeister@FreeBSD.org"
>

    <bug>
          <bug_id>238787</bug_id>
          
          <creation_ts>2019-06-24 11:51:47 +0000</creation_ts>
          <short_desc>IPv6 remote DoS (panic) vulnerability via m_pulldown() bug</short_desc>
          <delta_ts>2019-11-13 01:49:54 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Base System</product>
          <component>kern</component>
          <version>CURRENT</version>
          <rep_platform>Any</rep_platform>
          <op_sys>Any</op_sys>
          <bug_status>Closed</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://gnats.netbsd.org/30098</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>crash, security</keywords>
          <priority>Normal</priority>
          <bug_severity>Affects Many People</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>crest</reporter>
          <assigned_to name="Jonathan T. Looney">jtl</assigned_to>
          <cc>bz</cc>
    
    <cc>chris</cc>
    
    <cc>emaste</cc>
    
    <cc>gnn</cc>
    
    <cc>jtl</cc>
    
    <cc>koobs</cc>
    
    <cc>secteam</cc>
    
    <cc>sigsys</cc>
          

      

      

      <flag name="mfc-stable12"
          id="39739"
          type_id="9"
          status="+"
          setter="koobs"
    />
    <flag name="mfc-stable11"
          id="39738"
          type_id="8"
          status="+"
          setter="koobs"
    />

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1055422</commentid>
    <comment_count>0</comment_count>
    <who name="">crest</who>
    <bug_when>2019-06-24 11:51:47 +0000</bug_when>
    <thetext>A bug supposedly reported years ago is still unfixed in FreeBSD according to this post from a few hours ago:

https://www.reddit.com/r/BSD/comments/c4krwr/freebsd_ipv6_remote_dingdong_attack_kernel_panic/?ref=share&amp;ref_source=link archived at: https://web.archive.org/web/20190624115041/https://www.reddit.com/r/BSD/comments/c4krwr/freebsd_ipv6_remote_dingdong_attack_kernel_panic/?ref=share&amp;ref_source=link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055423</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Linimon">linimon</who>
    <bug_when>2019-06-24 11:56:34 +0000</bug_when>
    <thetext>Fix assignment.  Hadn&apos;t had enough caffeine yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055424</commentid>
    <comment_count>2</comment_count>
    <who name="Kubilay Kocak">koobs</who>
    <bug_when>2019-06-24 12:06:46 +0000</bug_when>
    <thetext>Could not find references for &quot;reported to and publicly acknowledged by FreeBSD in 2006&quot;.

If any existing bug exists, please close this as a duplicate of that and retriage that one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055426</commentid>
    <comment_count>3</comment_count>
    <who name="">crest</who>
    <bug_when>2019-06-24 12:14:14 +0000</bug_when>
    <thetext>I haven&apos;t found an open PR with crashes in m_pulldown which is why I created a new PR instead of adding a comment to the existing report, but if the message was send to the security team and got dropped as the reddit post implies there might not be any publicly visible PR for it. Now that the report was posted in a public forum any further discussion should probably happen in the open as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055430</commentid>
    <comment_count>4</comment_count>
    <who name="Kubilay Kocak">koobs</who>
    <bug_when>2019-06-24 13:02:28 +0000</bug_when>
    <thetext>OpenBSD Commit:

https://github.com/openbsd/src/commit/993ebdb685a594e5fe7427998c1025b419e85db6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055433</commentid>
    <comment_count>5</comment_count>
    <who name="Ed Maste">emaste</who>
    <bug_when>2019-06-24 13:48:10 +0000</bug_when>
    <thetext>NetBSD bug report and analysis: http://gnats.netbsd.org/30098</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060905</commentid>
    <comment_count>6</comment_count>
    <who name="Ed Maste">emaste</who>
    <bug_when>2019-08-08 04:03:25 +0000</bug_when>
    <thetext>NetBSD change: https://github.com/NetBSD/src/commit/1f94be1791b90c41bfadc9b0aa0621df55213659

XNU change: https://github.com/apple/darwin-xnu/commit/5bbb823c13f3ab1ab58878f96b35433a29882676</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061152</commentid>
    <comment_count>7</comment_count>
    <who name="">commit-hook</who>
    <bug_when>2019-08-09 05:20:00 +0000</bug_when>
    <thetext>A commit references this bug:

Author: jtl
Date: Fri Aug  9 05:19:00 UTC 2019
New revision: 350815
URL: https://svnweb.freebsd.org/changeset/base/350815

Log:
  In m_pulldown(), before trying to prepend bytes to the subsequent mbuf,
  ensure that the subsequent mbuf contains the remainder of the bytes
  the caller sought. If this is not the case, fall through to the code
  which gathers the bytes in a new mbuf.

  This fixes a bug where m_pulldown() could fail to gather all the desired
  bytes into consecutive memory.

  PR:		238787
  Reported by:	A reddit user
  Discussed with:	emaste
  Obtained from:	NetBSD
  MFC after:	3 days

Changes:
  head/sys/kern/uipc_mbuf2.c</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061154</commentid>
    <comment_count>8</comment_count>
    <who name="Jonathan T. Looney">jtl</who>
    <bug_when>2019-08-09 05:22:38 +0000</bug_when>
    <thetext>I was able to replicate the crash. The fix from NetBSD fixed the crash. After discussing it with emaste@, I committed the fix to head.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061207</commentid>
    <comment_count>9</comment_count>
    <who name="">crest</who>
    <bug_when>2019-08-09 11:32:05 +0000</bug_when>
    <thetext>Why wasn&apos;t the reddit user named by his/her nickname as &quot;TheGrandSchlonging&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061211</commentid>
    <comment_count>10</comment_count>
    <who name="Ed Maste">emaste</who>
    <bug_when>2019-08-09 12:03:00 +0000</bug_when>
    <thetext>Because they&apos;ve said in the past
&gt; nor do I want &quot;TheGrandSchlonging&quot; to appear in FreeBSD commit logs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061212</commentid>
    <comment_count>11</comment_count>
    <who name="Kubilay Kocak">koobs</who>
    <bug_when>2019-08-09 12:17:10 +0000</bug_when>
    <thetext>Assign to committer resolving (keep secteam CC&apos;d)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061271</commentid>
    <comment_count>12</comment_count>
    <who name="">commit-hook</who>
    <bug_when>2019-08-10 00:01:29 +0000</bug_when>
    <thetext>A commit references this bug:

Author: jtl
Date: Sat Aug 10 00:01:26 UTC 2019
New revision: 350828
URL: https://svnweb.freebsd.org/changeset/base/350828

Log:
  MFC r350815:
    In m_pulldown(), before trying to prepend bytes to the subsequent mbuf,
    ensure that the subsequent mbuf contains the remainder of the bytes
    the caller sought. If this is not the case, fall through to the code
    which gathers the bytes in a new mbuf.

    This fixes a bug where m_pulldown() could fail to gather all the desired
    bytes into consecutive memory.

  PR:		238787
  Approved by:	so (emaste)

Changes:
_U  stable/12/
  stable/12/sys/kern/uipc_mbuf2.c</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061272</commentid>
    <comment_count>13</comment_count>
    <who name="">commit-hook</who>
    <bug_when>2019-08-10 00:03:32 +0000</bug_when>
    <thetext>A commit references this bug:

Author: jtl
Date: Sat Aug 10 00:02:46 UTC 2019
New revision: 350829
URL: https://svnweb.freebsd.org/changeset/base/350829

Log:
  MFC r350815:
    In m_pulldown(), before trying to prepend bytes to the subsequent mbuf,
    ensure that the subsequent mbuf contains the remainder of the bytes
    the caller sought. If this is not the case, fall through to the code
    which gathers the bytes in a new mbuf.

    This fixes a bug where m_pulldown() could fail to gather all the desired
    bytes into consecutive memory.

  PR:		238787
  Approved by:	so (emaste)

Changes:
_U  stable/11/
  stable/11/sys/kern/uipc_mbuf2.c</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061855</commentid>
    <comment_count>14</comment_count>
    <who name="Ed Maste">emaste</who>
    <bug_when>2019-08-13 20:54:09 +0000</bug_when>
    <thetext>Original report can be found at http://web.archive.org/web/20091116125618/clem1.be/gimme/ipv6sec.pdf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075112</commentid>
    <comment_count>15</comment_count>
    <who name="Bjoern A. Zeeb">bz</who>
    <bug_when>2019-11-12 22:19:03 +0000</bug_when>
    <thetext>This was published as FreeBSD-SA-19:22.mbuf and with that I assume can be closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075127</commentid>
    <comment_count>16</comment_count>
    <who name="Kubilay Kocak">koobs</who>
    <bug_when>2019-11-13 01:49:54 +0000</bug_when>
    <thetext>^Triage: Track merge status</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>