Alert system DoS prevention

This fixes two alert system vulnerabilities found by
Sergio Lerner; you could send peers unlimited numbers
of invalid alert message to try to either fill up their
debug.log with messages and/or keep their CPU busy
checking signatures.

Fixed by disconnecting/banning peers if they send 10 or more
bad (invalid/expired/cancelled) alerts.
This commit is contained in:
Gavin Andresen
2012-08-26 17:08:18 -04:00
parent 772351b0d5
commit d5a52d9b3e
2 changed files with 20 additions and 7 deletions

View File

@@ -1535,7 +1535,7 @@ public:
uint256 GetHash() const
{
return SerializeHash(*this);
return Hash(this->vchMsg.begin(), this->vchMsg.end());
}
bool IsInEffect() const