Mempol DoS attack? #8669

issue rebroad opened this issue on September 6, 2016
  1. rebroad commented at 5:54 AM on September 6, 2016: contributor

    I have been noticing for a while that sometimes the mempool memory usage sometimes dramatically starts increasing where previously it was staying relatively minimal. This just happened on my node, and I happened to be logging some additional debug information. Just at the point that the memory usage started climbing rapidly, it was just after a block was received. The additional logging set up was to report partial messages being received (i.e. messages that take several polls of ProcessMessages() to be received). Just after the block was received, this happened from most of the connected nodes as is typical when they are helping to propagate a block through-out the network. However, one node, claiming to be a "Satoshi:0.11.2" client, started sending a series of inv messages, all 36003 bytes long each, followed 1 minute later by a constant stream of txs, all >14K each. It was during this time that the mempool memory usage jumped up, until the minfeefilter kicked in. There were also some messages being received claiming to be 439MB in size (according to the header) with no strCommand. 1 minut later, the 36003 byte long invs messages resumed, followed shortly after by the large txs. Then after a couple of minutes, another node starts exhibiting unusual behaviour, namely the 4294967295 byte messages with no strCommand, and nDataPos being zero (i.e. no bytes sent).

    Will continue to try to debug what is going on, but it would appear that some additional DoS detection could be developed.

    screenshot at 2016-09-06 12 34 37

  2. jonasschnelli added the label Mempool on Sep 6, 2016
  3. gmaxwell commented at 8:09 AM on September 9, 2016: contributor

    There are some 'helpful' nodes that on connection will vomit their mempool into you. It's mostly harmless-- in fact, in some sense it's arguably helpful because it gets your minimum feerate up to the correct level.

  4. rebroad commented at 9:14 AM on September 15, 2016: contributor

    @gmaxwell it might be what you describe - my logging might have been slightly buggy in that I might have been querying nMessageSize before the message header was received - although I suspect not as I'd expect nMessageSize to stay zero until it's received. I've been busy rebasing the last few days but should be able to continue delving into this soon.

  5. rebroad closed this on Dec 17, 2016

  6. MarcoFalke locked this on Sep 8, 2021
Contributors
Labels

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-22 18:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me