--- /dev/null
+Return-Path: <dkg@fifthhorseman.net>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 22525431FB6\r
+ for <notmuch@notmuchmail.org>; Thu, 8 Mar 2012 08:37:22 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+ autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id oHiNhyuEIUJm for <notmuch@notmuchmail.org>;\r
+ Thu, 8 Mar 2012 08:37:21 -0800 (PST)\r
+Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108])\r
+ by olra.theworths.org (Postfix) with ESMTP id AC05C431FAE\r
+ for <notmuch@notmuchmail.org>; Thu, 8 Mar 2012 08:37:21 -0800 (PST)\r
+Received: from pip.fifthhorseman.net (lair.fifthhorseman.net [108.58.6.98])\r
+ by che.mayfirst.org (Postfix) with ESMTPSA id B8334F970\r
+ for <notmuch@notmuchmail.org>; Thu, 8 Mar 2012 11:37:17 -0500 (EST)\r
+Received: by pip.fifthhorseman.net (Postfix, from userid 1000)\r
+ id D8DA211898; Thu, 8 Mar 2012 11:37:18 -0500 (EST)\r
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>\r
+To: notmuch mailing list <notmuch@notmuchmail.org>\r
+Subject: a DoS vulnerability associated with conflated Message-IDs?\r
+User-Agent: Notmuch/0.11.1 (http://notmuchmail.org) Emacs/23.3.1\r
+ (i486-pc-linux-gnu)\r
+Date: Thu, 08 Mar 2012 11:37:09 -0500\r
+Message-ID: <87k42vrqve.fsf@pip.fifthhorseman.net>\r
+MIME-Version: 1.0\r
+Content-Type: multipart/signed; boundary="=-=-=";\r
+ micalg=pgp-sha512; protocol="application/pgp-signature"\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Thu, 08 Mar 2012 16:37:22 -0000\r
+\r
+--=-=-=\r
+Content-Type: text/plain\r
+\r
+notmuch currently treats all messages with the same Message-ID as\r
+the same message. I think this could be a vulnerability :(\r
+\r
+If two messages have the same Message-ID, is there a guarantee of which\r
+of these messages will be produced during a notmuch show?\r
+\r
+Either way, it seems to create a potential DoS attack on notmuch users.\r
+\r
+-------\r
+\r
+The attack:\r
+\r
+Let's say there is a public mailing list that Mallory knows\r
+bob@example.org is subscribed to. alice@example.net sends a message to\r
+the public mailing list detailing some problem that Bob probably needs\r
+to deal with.\r
+\r
+Mallory can just craft a content-free e-mail (or a dozen?) with the same\r
+Message-ID as Alice's message, and send it to bob@example.org.\r
+\r
+If Bob uses notmuch, he is much more likely to read one of Mallory's\r
+bogus e-mails than to read Alice's original message.\r
+\r
+Mallory's e-mail could also be crafted to look like spam, in the hopes\r
+that Bob's spamfiltering scripts would mark the original message's\r
+Message-ID as spam.\r
+\r
+--------\r
+\r
+I don't know how to fix this, and i'd be happy to hear if someone thinks\r
+my analysis above is flawed and this isn't really a problem.\r
+\r
+Any ideas on how to approach this?\r
+\r
+ --dkg\r
+\r
+--=-=-=\r
+Content-Type: application/pgp-signature\r
+\r
+-----BEGIN PGP SIGNATURE-----\r
+Version: GnuPG v1.4.12 (GNU/Linux)\r
+\r
+iQJ8BAEBCgBmBQJPWOA2XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w\r
+ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwRUU1QkU5NzkyODJEODBCOUY3NTQwRjFD\r
+Q0QyRUQ5NEQyMTczOUU5AAoJEMzS7ZTSFznprvMP/Rkf+D3t2py0au1NdLu6211c\r
+9VFtgxnmBI+W0IlwB8V81AMzwfIFDvQZnzHVtvr9hgyauVz5Fno1bE1Yma0g2ha/\r
+K6EocrfX+8Gs1DGJB8QY/1hiSzhx1IAKe5llgVZcrLxJcy2fVxKkLFKCtgJwBNmH\r
+Tam3+Hsbt8EWTyXtxRXVpX3TVxyIZeGXkO3VB1QotJ2OMXFAzi6ulpT/ygTMO5yh\r
+DFRDba0VuE3H/tdpZ+mm+w3fziTzfAsVWtdXD/6X4fK6aFBPOIM0Izga+QzpkeRE\r
+2qGbFrq1pi817qT/so+KlvIXghja+HUd8NGfFoF7cA7g/6JLjvc0HaArgBrscbxi\r
+4ZvuPeRikJl9toDExpjywbeTs22pHVClzt6oLYyfQ4zhbT0ViWnUQpFPh7+/u6he\r
+p6Cwj0KDfYMkzr1JX069+up7pzS1ijQanflrU0XDcxSWf8ItwOZ603dSh7vig5Ce\r
+8x5ZtAHoHnMG22EvNlbaYwKgTejSOcLESYl3N4B8rcjLMIh1SVlIyaZpEp+0Ub6I\r
+GbE6R6osRGEYGiyAoZVPB8L9mox0MG3HPaPpsT2YYvOak/P9EMseJbq1X4+sf1Te\r
+1z7eSXPGr4GVemN4MLiLrI/xq6QRGj0/ORR60HYvM/Sb3IeUPLJRaaNQ8fk6sqzu\r
+1UfKCZ2Wpza+DY7hTc+w\r
+=6XGU\r
+-----END PGP SIGNATURE-----\r
+--=-=-=--\r