Browse Source

Limit the number of IPs we use from each DNS seeder

A risk exists where a malicious DNS seeder eclipses a node by returning an enormous number of IP addresses. In this commit we mitigate this risk by limiting the number of IP addresses addrman learns to 256 per DNS seeder.

GitHub-Pull: #12626
Rebased-From: 46e7f80
0.16
e0 7 years ago committed by fanquake
parent
commit
f60e84dba4
  1. 3
      src/net.cpp

3
src/net.cpp

@ -1619,7 +1619,8 @@ void CConnman::ThreadDNSAddressSeed()
if (!resolveSource.SetInternal(host)) { if (!resolveSource.SetInternal(host)) {
continue; continue;
} }
if (LookupHost(host.c_str(), vIPs, 0, true)) unsigned int nMaxIPs = 256; // Limits number of IPs learned from a DNS seed
if (LookupHost(host.c_str(), vIPs, nMaxIPs, true))
{ {
for (const CNetAddr& ip : vIPs) for (const CNetAddr& ip : vIPs)
{ {

Loading…
Cancel
Save