On Thu, Jun 17, 2021 at 01:19:18AM -0700, Amit Klein wrote:
Subject: inet: use bigger hash table for IP ID generation (backported to 4.19) From: Amit Klein aksecurity@gmail.com
This is a backport to 4.19 of the following patch, originally developed by Eric Dumazet.
In commit 73f156a6e8c1 ("inetpeer: get rid of ip_id_count") I used a very small hash table that could be abused by patient attackers to reveal sensitive information.
Switch to a dynamic sizing, depending on RAM size.
Typical big hosts will now use 128x more storage (2 MB) to get a similar increase in security and reduction of hash collisions.
As a bonus, use of alloc_large_system_hash() spreads allocated memory among all NUMA nodes.
Fixes: 73f156a6e8c1 ("inetpeer: get rid of ip_id_count") Reported-by: Amit Klein aksecurity@gmail.com Cc: stable@vger.kernel.org Cc: Eric Dumazet edumazet@google.com Cc: Willy Tarreau w@1wt.eu
net/ipv4/route.c | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-)
(limited to 'net/ipv4/route.c')
I had to dig up what the upstream git commit id was for this, please specify it next time :(
I've queued this, and the 4.14 version up. Can you create a 4.4.y and 4.9.y version as well?
thanks,
greg k-h