Hi Markus,

On Thu, Mar 31, 2016 at 10:21:32PM +0200, Markus Koschany wrote:
> Control: severity -1 grave
> Control: tags -1 patch
> 
> Am 31.03.2016 um 15:14 schrieb John Foley:
> > It's my understanding the obsolete versions of libsrtp are vulnerable. 
> > Quoting the original text from Randell Jesup...
> > 
> >     srtp_unprotect (netwerk\srtp\src\srtp\srtp.c) can experience an
> >     integer underflow. If it does, it calls a decryption function with a
> >     buffer pointer pointing to memory to which it has no right, and with
> >     a very large buffer length. This call could scramble large portions
> >     of memory, causing incorrect and possibly insecure behavior.
> > 
> >     The bug is in this code:
> > 
> >     950: err_status_t
> >     951: srtp_unprotect(srtp_ctx_t *ctx, void *srtp_hdr, int 
> > *pkt_octet_len) {
> >     ...
> >     1073:   if (stream->rtp_services & sec_serv_conf) {
> >     1074:     enc_start = (uint32_t *)hdr + uint32s_in_rtp_header + 
> > hdr->cc;  
> >     1075:     if (hdr->x == 1) {
> >     1076:       srtp_hdr_xtnd_t *xtn_hdr = (srtp_hdr_xtnd_t *)enc_start;
> >     1077:       enc_start += (ntohs(xtn_hdr->length) + 1);
> >     1078:     }  
> >     1079:     enc_octet_len = (uint32_t)(*pkt_octet_len - tag_len 
> >     1080:                          - ((enc_start - (uint32_t *)hdr) << 2));
> >     1081:   } else {
> >     1082:     enc_start = NULL;
> >     1083:   }
> > 
> 
> Thanks for your quick response and clarification. If I understand
> correctly we can basically apply the same patch for our version in
> Wheezy and Jessie and guard against the potential integer underflow by using
> 
> if (!((uint8_t*)enc_start < (uint8_t*)hdr + (*pkt_octet_len - tag_len)))
>       return err_status_parse_err;
> 
> before
> 
> enc_octet_len = (uint32_t)(*pkt_octet_len - tag_len
>       - ((enc_start - (uint32_t *)hdr) << 2));
> 
> Since it is clear now that Jessie and Sid are affected, I am going to
> raise the severity to grave again. Please find attached my proposed
> debdiffs.

Okay, please go ahead with your upload to security-master. Since the
version for jessie-security is new to dak on security-master please
remember to build with -sa to include the original source tarball.

Thanks for your work on this update.

Regards,
Salvatore

Attachment: signature.asc
Description: PGP signature

Reply via email to