netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Fw: [Bug 205681] New: recvmg is overwriting the buffer passed in msg_name by exceeding msg_namelen
@ 2019-11-27 16:08 Stephen Hemminger
  2019-11-27 17:13 ` Willem de Bruijn
  0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2019-11-27 16:08 UTC (permalink / raw)
  To: netdev



Begin forwarded message:

Date: Wed, 27 Nov 2019 06:36:50 +0000
From: bugzilla-daemon@bugzilla.kernel.org
To: stephen@networkplumber.org
Subject: [Bug 205681] New: recvmg is overwriting the buffer passed in msg_name by exceeding msg_namelen


https://bugzilla.kernel.org/show_bug.cgi?id=205681

            Bug ID: 205681
           Summary: recvmg is overwriting the buffer passed in msg_name by
                    exceeding msg_namelen
           Product: Networking
           Version: 2.5
    Kernel Version: 5.4,4.0,3.0,2.6
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: high
          Priority: P1
         Component: IPV4
          Assignee: stephen@networkplumber.org
          Reporter: sudheendrasp@gmail.com
        Regression: No

if (msg->msg_name) {
        struct sockaddr_rxrpc *srx = msg->msg_name;
        size_t len = sizeof(call->peer->srx);

        memcpy(msg->msg_name, &call->peer->srx, len);
        srx->srx_service = call->service_id;
        msg->msg_namelen = len;
    }


As seen, recvmsg is doing memcpy of len which can be greater than msg_namelen
passed.

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Fw: [Bug 205681] New: recvmg is overwriting the buffer passed in msg_name by exceeding msg_namelen
  2019-11-27 16:08 Fw: [Bug 205681] New: recvmg is overwriting the buffer passed in msg_name by exceeding msg_namelen Stephen Hemminger
@ 2019-11-27 17:13 ` Willem de Bruijn
  0 siblings, 0 replies; 2+ messages in thread
From: Willem de Bruijn @ 2019-11-27 17:13 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Network Development

On Wed, Nov 27, 2019 at 11:09 AM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
>
>
> Begin forwarded message:
>
> Date: Wed, 27 Nov 2019 06:36:50 +0000
> From: bugzilla-daemon@bugzilla.kernel.org
> To: stephen@networkplumber.org
> Subject: [Bug 205681] New: recvmg is overwriting the buffer passed in msg_name by exceeding msg_namelen
>
>
> https://bugzilla.kernel.org/show_bug.cgi?id=205681
>
>             Bug ID: 205681
>            Summary: recvmg is overwriting the buffer passed in msg_name by
>                     exceeding msg_namelen
>            Product: Networking
>            Version: 2.5
>     Kernel Version: 5.4,4.0,3.0,2.6
>           Hardware: All
>                 OS: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: high
>           Priority: P1
>          Component: IPV4
>           Assignee: stephen@networkplumber.org
>           Reporter: sudheendrasp@gmail.com
>         Regression: No
>
> if (msg->msg_name) {
>         struct sockaddr_rxrpc *srx = msg->msg_name;
>         size_t len = sizeof(call->peer->srx);
>
>         memcpy(msg->msg_name, &call->peer->srx, len);
>         srx->srx_service = call->service_id;
>         msg->msg_namelen = len;
>     }
>
>
> As seen, recvmsg is doing memcpy of len which can be greater than msg_namelen
> passed.

__sys_recvfrom in net/socket.c always passes a struct of size
sockaddr_storage to the protocol handler. On return from the protocol
handler it calls move_addr_to_user to safely copy up to msg_namelen
only.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-11-27 17:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-27 16:08 Fw: [Bug 205681] New: recvmg is overwriting the buffer passed in msg_name by exceeding msg_namelen Stephen Hemminger
2019-11-27 17:13 ` Willem de Bruijn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).