From: Vlad Yasevich <vyasevich@gmail.com>
To: Xin Long <lucien.xin@gmail.com>, network dev <netdev@vger.kernel.org>
Cc: mleitner@redhat.com, davem@davemloft.net
Subject: Re: [PATCH net v4] sctp: asconf's process should verify address parameter is in the beginning
Date: Thu, 27 Aug 2015 08:46:15 -0400 [thread overview]
Message-ID: <55DF0697.5050608@gmail.com> (raw)
In-Reply-To: <842bb5735d0ea0e632695f49dc85021faa176784.1440663994.git.lucien.xin@gmail.com>
On 08/27/2015 04:26 AM, Xin Long wrote:
> in sctp_process_asconf(), we get address parameter from the beginning of
> the addip params. but we never check if it's really there. if the addr
> param is not there, it still can pass sctp_verify_asconf(), then to be
> handled by sctp_process_asconf(), it will not be safe.
>
> so add a code in sctp_verify_asconf() to check the address parameter is in
> the beginning, or return false to send abort.
>
> note that this can also detect multiple address parameters, and reject it.
>
> Signed-off-by: Xin Long <lucien.xin@gmail.com>
> Signed-off-by: Marcelo Ricardo Leitner <mleitner@redhat.com>
Looks good to me.
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
-vlad
> ---
> net/sctp/sm_make_chunk.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
> index 06320c8..a655ddc 100644
> --- a/net/sctp/sm_make_chunk.c
> +++ b/net/sctp/sm_make_chunk.c
> @@ -3132,11 +3132,18 @@ bool sctp_verify_asconf(const struct sctp_association *asoc,
> case SCTP_PARAM_IPV4_ADDRESS:
> if (length != sizeof(sctp_ipv4addr_param_t))
> return false;
> + /* ensure there is only one addr param and it's in the
> + * beginning of addip_hdr params, or we reject it.
> + */
> + if (param.v != addip->addip_hdr.params)
> + return false;
> addr_param_seen = true;
> break;
> case SCTP_PARAM_IPV6_ADDRESS:
> if (length != sizeof(sctp_ipv6addr_param_t))
> return false;
> + if (param.v != addip->addip_hdr.params)
> + return false;
> addr_param_seen = true;
> break;
> case SCTP_PARAM_ADD_IP:
>
next prev parent reply other threads:[~2015-08-27 12:46 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-27 8:26 [PATCH net v4] sctp: asconf's process should verify address parameter is in the beginning Xin Long
2015-08-27 12:46 ` Vlad Yasevich [this message]
2015-08-27 21:00 ` David Miller
-- strict thread matches above, loose matches on Subject: below --
2015-08-26 21:03 Xin Long
2015-08-26 21:33 ` Vlad Yasevich
2015-08-27 8:25 ` lucien xin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55DF0697.5050608@gmail.com \
--to=vyasevich@gmail.com \
--cc=davem@davemloft.net \
--cc=lucien.xin@gmail.com \
--cc=mleitner@redhat.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.