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
| ||
|
Date: Mon, 24 Aug 2015 13:49:45 -0400 From: Vlad Yasevich <vyasevic@...hat.com> To: Xin Long <lucien.xin@...il.com>, network dev <netdev@...r.kernel.org> CC: mleitner@...hat.com, davem@...emloft.net Subject: Re: [PATCH net] sctp: asconf process should treat multiple address parameter as unrecognized parameter On 08/24/2015 06:07 AM, Xin Long wrote: > currently, we sctp_walk_params(), if we encounter the address parameter, we will > skip them, we do not care about how many addr params are there. > > but the params of ASCONF chunk should consist of one *Address Parameter* and one > or more *ASCONF Parameters*. > > so we will process multiple address parameters as unrecognized parameter and > send error cause to peer. > > Signed-off-by: Xin Long <lucien.xin@...il.com> > --- > net/sctp/sm_make_chunk.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c > index 06320c8..0ee5ca7 100644 > --- a/net/sctp/sm_make_chunk.c > +++ b/net/sctp/sm_make_chunk.c > @@ -3217,10 +3217,18 @@ struct sctp_chunk *sctp_process_asconf(struct sctp_association *asoc, > > /* Process the TLVs contained within the ASCONF chunk. */ > sctp_walk_params(param, addip, addip_hdr.params) { > - /* Skip preceeding address parameters. */ > + /* Skip preceeding address parameters. > + * process multi-addrparam as unrecognized parameters > + */ > if (param.p->type == SCTP_PARAM_IPV4_ADDRESS || > - param.p->type == SCTP_PARAM_IPV6_ADDRESS) > + param.p->type == SCTP_PARAM_IPV6_ADDRESS) { > + if(param.addr != addr_param) { > + all_param_pass = false; > + sctp_add_asconf_response(asconf_ack, 0, > + SCTP_ERROR_UNKNOWN_PARAM, param.v); > + } > continue; > + } > I think it would be much better to catch this in the validation stage. If an implementation inserts multiple address parameters, we don't really know which one we should be using. -vlad > err_code = sctp_process_asconf_param(asoc, asconf, > param.addip); > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists