Stack-based buffer overflow in the splitredraw function in split.c in mtr before 0.73, when invoked with the -p (aka --split) option, allows remote attackers to execute arbitrary code via a crafted DNS PTR record. NOTE: it could be argued that this is a vulnerability in the nsnamentop function in resolv/nsname.c in glibc and the proper fix should be in glibc; if so, then this should not be treated as a vulnerability in mtr.
mtr is vulnerable to Out-of-bound read vulnerability in ipinfolookup() function. An attacker who can influence the TXT response used for AS lookups can trigger this bug by returning a DNS response that is larger than 512 bytes and uses a crafted compression pointer in the answer NAME field. ipinfolookup() function uses the length of the response as the end-of-message boundary for dnexpand() function. The result is a reliable crash.
This issue exists in the mtr through version 0.96 and it was fixed in commit 48e1794414d338ce47abc0f27c25ade8788af9c3.