2021-04-16 21:53:23

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH][next] sctp: Fix out-of-bounds warning in sctp_process_asconf_param()

Fix the following out-of-bounds warning:

net/sctp/sm_make_chunk.c:3150:4: warning: 'memcpy' offset [17, 28] from the object at 'addr' is out of the bounds of referenced subobject 'v4' with type 'struct sockaddr_in' at offset 0 [-Warray-bounds]

This helps with the ongoing efforts to globally enable -Warray-bounds
and get us closer to being able to tighten the FORTIFY_SOURCE routines
on memcpy().

Link: https://github.com/KSPP/linux/issues/109
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
net/sctp/sm_make_chunk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 54e6a708d06e..5f9a7c028274 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -3147,7 +3147,7 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
* primary.
*/
if (af->is_any(&addr))
- memcpy(&addr.v4, sctp_source(asconf), sizeof(addr));
+ memcpy(&addr, sctp_source(asconf), sizeof(addr));

if (security_sctp_bind_connect(asoc->ep->base.sk,
SCTP_PARAM_SET_PRIMARY,
--
2.27.0


2021-04-16 21:57:20

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH][next] sctp: Fix out-of-bounds warning in sctp_process_asconf_param()

On Fri, Apr 16, 2021 at 02:12:36PM -0500, Gustavo A. R. Silva wrote:
> Fix the following out-of-bounds warning:
>
> net/sctp/sm_make_chunk.c:3150:4: warning: 'memcpy' offset [17, 28] from the object at 'addr' is out of the bounds of referenced subobject 'v4' with type 'struct sockaddr_in' at offset 0 [-Warray-bounds]
>
> This helps with the ongoing efforts to globally enable -Warray-bounds
> and get us closer to being able to tighten the FORTIFY_SOURCE routines
> on memcpy().
>
> Link: https://github.com/KSPP/linux/issues/109
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Gustavo A. R. Silva <[email protected]>

Yup!

Reviewed-by: Kees Cook <[email protected]>

--
Kees Cook

2021-04-16 22:06:56

by Marcelo Ricardo Leitner

[permalink] [raw]
Subject: Re: [PATCH][next] sctp: Fix out-of-bounds warning in sctp_process_asconf_param()

On Fri, Apr 16, 2021 at 02:12:36PM -0500, Gustavo A. R. Silva wrote:
> Fix the following out-of-bounds warning:
>
> net/sctp/sm_make_chunk.c:3150:4: warning: 'memcpy' offset [17, 28] from the object at 'addr' is out of the bounds of referenced subobject 'v4' with type 'struct sockaddr_in' at offset 0 [-Warray-bounds]
>
> This helps with the ongoing efforts to globally enable -Warray-bounds
> and get us closer to being able to tighten the FORTIFY_SOURCE routines
> on memcpy().
>
> Link: https://github.com/KSPP/linux/issues/109
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Gustavo A. R. Silva <[email protected]>

Acked-by: Marcelo Ricardo Leitner <[email protected]>
Thanks.

2021-04-17 00:10:20

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH][next] sctp: Fix out-of-bounds warning in sctp_process_asconf_param()

Dave,

On 4/16/21 19:00, [email protected] wrote:
> Hello:
>
> This patch was applied to netdev/net-next.git (refs/heads/master):
>
> On Fri, 16 Apr 2021 14:12:36 -0500 you wrote:
>> Fix the following out-of-bounds warning:
>>
>> net/sctp/sm_make_chunk.c:3150:4: warning: 'memcpy' offset [17, 28] from the object at 'addr' is out of the bounds of referenced subobject 'v4' with type 'struct sockaddr_in' at offset 0 [-Warray-bounds]
>>
>> This helps with the ongoing efforts to globally enable -Warray-bounds
>> and get us closer to being able to tighten the FORTIFY_SOURCE routines
>> on memcpy().
>>
>> [...]
>
> Here is the summary with links:
> - [next] sctp: Fix out-of-bounds warning in sctp_process_asconf_param()
> https://git.kernel.org/netdev/net-next/c/e5272ad4aab3

Thanks for this. Can you take these other two, as well, please?

https://lore.kernel.org/linux-hardening/20210416201540.GA593906@embeddedor/
https://lore.kernel.org/linux-hardening/20210416193151.GA591935@embeddedor/

Thanks!
--
Gustavo

2021-04-19 22:35:30

by David Miller

[permalink] [raw]
Subject: Re: [PATCH][next] sctp: Fix out-of-bounds warning in sctp_process_asconf_param()

From: "Gustavo A. R. Silva" <[email protected]>
Date: Fri, 16 Apr 2021 19:07:05 -0500

> Dave,
>
> On 4/16/21 19:00, [email protected] wrote:
>> Hello:
>>
>> This patch was applied to netdev/net-next.git (refs/heads/master):
>>
>> On Fri, 16 Apr 2021 14:12:36 -0500 you wrote:
>>> Fix the following out-of-bounds warning:
>>>
>>> net/sctp/sm_make_chunk.c:3150:4: warning: 'memcpy' offset [17, 28] from the object at 'addr' is out of the bounds of referenced subobject 'v4' with type 'struct sockaddr_in' at offset 0 [-Warray-bounds]
>>>
>>> This helps with the ongoing efforts to globally enable -Warray-bounds
>>> and get us closer to being able to tighten the FORTIFY_SOURCE routines
>>> on memcpy().
>>>
>>> [...]
>>
>> Here is the summary with links:
>> - [next] sctp: Fix out-of-bounds warning in sctp_process_asconf_param()
>> https://git.kernel.org/netdev/net-next/c/e5272ad4aab3
>
> Thanks for this. Can you take these other two, as well, please?
>
> https://lore.kernel.org/linux-hardening/20210416201540.GA593906@embeddedor/
> https://lore.kernel.org/linux-hardening/20210416193151.GA591935@embeddedor/
>

Done.

2021-04-19 22:41:01

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH][next] sctp: Fix out-of-bounds warning in sctp_process_asconf_param()



On 4/19/21 17:34, David Miller wrote:

>> Thanks for this. Can you take these other two, as well, please?
>>
>> https://lore.kernel.org/linux-hardening/20210416201540.GA593906@embeddedor/
>> https://lore.kernel.org/linux-hardening/20210416193151.GA591935@embeddedor/
>>
>
> Done.

Thanks, Dave!

--
Gustavo