On Thu, Oct 22, 2020 at 07:49:40PM +0200, Peter J. Philipp wrote:
> Hi,
> 
> Just got this message (seemed like a flood) from tcpdump:
> 
> ----
> [MBMS Support] [MBMS Support] [MBMS Support] [MBMS Support] [MBMS Support] [M
> BMS Support] [MBMS Support] [MBMS Support] [MBMS Support] [MBMS Support] 
> [MBMS S
> upport] [MBMS Support] [MBMS Support] [MBMS Support] [MBMS Support] [MBMS 
> Support] [MBMS Support] [MBMS Support] [MBMS Support] [MBMS Support] [MBMS 
> Support] [M
> BMS Support] [MBMS Support] [MBMS Support] [MBMS^C                            
>   
> 3407731 packets received by filter                                            
>   
> 2169 packets dropped by kernel                                                
>   
> you have mail in /var/mail/pjp                                                
>   
> eta# tcpdump -v -n -i pppoe0 -s 1500 -X port 8053                             
>   
> tcpdump: listening on pppoe0, link-type PPP_ETHER   
> ----
> 
> The tcpdump command was executed as is.  System is OpenBSD 6.8.  What I find
> weird here is that there is no configured 8053 port for GTP is there?
> 
> Best Regards,
> -peter
> 

Hi again,

so I've found out that in print-gtp.c there might be the possibility for an
endless loop.  In function gtp_v1_print():

    928                         /* Header length is a 4 octet multiplier. */
    929                         hlen = (int)p[0] * 4;
    930                         TCHECK2(p[0], hlen);

if hlen == 0 here it would pass (as in not goto trunc) TCHECK2 right?

    958                         p += hlen - 1;
    959                         nexthdr = (int)p[0];
    960                         p++;

Here it would go backwards by one which nexthdr would become (if it's 0
coincidentally?) and then it increments by one to start anew.

Can anyone confirm my suspicions?

Best Regards,
-peter

Reply via email to