lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20191015.202134.33836858979543563.davem@davemloft.net>
Date:   Tue, 15 Oct 2019 20:21:34 -0700 (PDT)
From:   David Miller <davem@...emloft.net>
To:     edumazet@...gle.com
Cc:     netdev@...r.kernel.org, eric.dumazet@...il.com,
        syzbot+cf0adbb9c28c8866c788@...kaller.appspotmail.com
Subject: Re: [PATCH net] net: avoid potential infinite loop in
 tc_ctl_action()

From: Eric Dumazet <edumazet@...gle.com>
Date: Mon, 14 Oct 2019 11:22:30 -0700

> tc_ctl_action() has the ability to loop forever if tcf_action_add()
> returns -EAGAIN.
> 
> This special case has been done in case a module needed to be loaded,
> but it turns out that tcf_add_notify() could also return -EAGAIN
> if the socket sk_rcvbuf limit is hit.
> 
> We need to separate the two cases, and only loop for the module
> loading case.
> 
> While we are at it, add a limit of 10 attempts since unbounded
> loops are always scary.
> 
> syzbot repro was something like :
> 
> socket(PF_NETLINK, SOCK_RAW|SOCK_NONBLOCK, NETLINK_ROUTE) = 3
> write(3, ..., 38) = 38
> setsockopt(3, SOL_SOCKET, SO_RCVBUF, [0], 4) = 0
> sendmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{..., 388}], msg_controllen=0, msg_flags=0x10}, ...)
 ...
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
> Reported-by: syzbot+cf0adbb9c28c8866c788@...kaller.appspotmail.com

Applied and queued up for -stable, thanks.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ