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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 11 Nov 2021 16:19:21 +0300
From:   Denis Kirjanov <dkirjanov@...e.de>
To:     Dongliang Mu <mudongliangabcd@...il.com>,
        Alexander Aring <alex.aring@...il.com>,
        Stefan Schmidt <stefan@...enfreihafen.org>,
        "David S. Miller" <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>
Cc:     linux-wpan@...r.kernel.org, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] net: ieee802154: fix shift-out-of-bound in
 nl802154_new_interface



11/11/21 3:51 PM, Dongliang Mu пишет:
> In nl802154_new_interface, if type retrieved from info->attr is
> NL802154_IFTYPE_UNSPEC(-1), i.e., less than NL802154_IFTYPE_MAX,
> it will trigger a shift-out-of-bound bug in BIT(type).
> 
> Fix this by adding a condition to check if the variable type is
> larger than NL802154_IFTYPE_UNSPEC(-1).

Please add Fixes tag

> 
> Signed-off-by: Dongliang Mu <mudongliangabcd@...il.com>
> ---
>   net/ieee802154/nl802154.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/ieee802154/nl802154.c b/net/ieee802154/nl802154.c
> index 277124f206e0..cecf5ce0aa20 100644
> --- a/net/ieee802154/nl802154.c
> +++ b/net/ieee802154/nl802154.c
> @@ -915,7 +915,7 @@ static int nl802154_new_interface(struct sk_buff *skb, struct genl_info *info)
>   
>   	if (info->attrs[NL802154_ATTR_IFTYPE]) {
>   		type = nla_get_u32(info->attrs[NL802154_ATTR_IFTYPE]);
> -		if (type > NL802154_IFTYPE_MAX ||
> +		if (type <= NL802154_IFTYPE_UNSPEC || type > NL802154_IFTYPE_MAX ||
>   		    !(rdev->wpan_phy.supported.iftypes & BIT(type)))
>   			return -EINVAL;
>   	}
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ