<div dir="ltr"><div><div><div>Hi,<br><br></div>I was looking at the newly revealed CVE-2015-7547 (GlibC name resolution bug) and based on PoC avaliable at <a href="https://github.com/fjserna/CVE-2015-7547">https://github.com/fjserna/CVE-2015-7547</a> have crafted a rudimentary signature.<br></div>The signature looks for two large DNS responses and raises an alert for the second one.<br></div><div>It is tied to TCP because-<br></div><div>a, The length field is only available with TCP packets<br></div><div>b. Most DNS implementations will truncate large UDP DNS responses (and I don't know how tp count the length of UDP packet using a snort signature)<br></div><div><br>alert tcp $EXTERNAL_NET 53 -> $HOME_NET any (msg:"LOCAL Large DNS TCP response"; flow:to_client,established; byte_test: 1,&,128,4; byte_test:2,>,2000,0; flowbits: set,large_dns_resp; flowbits: noalert; sid:10000001; rev:1)<br>alert tcp $EXTERNAL_NET 53 -> $HOME_NET any (msg:"LOCAL Large second DNS response - possible CVE-2015-7547 attempt"; flow:to_client,established; byte_test: 1,&,128,4; byte_test:2,>,200,0; flowbits: isset,large_dns_resp; sid:10000002; rev:1)<br><br></div><div>I have tested these agaisnt PoC and benign traffic and they seem to work.<br></div><div>A possible false positive is zone transfer.<br></div><div>Thoughts on how to refine them further or any alternative approaches to writing signatures for the said bug?<br></div><div><br></div><div>Regards,<br></div><div>Dheeraj<br></div><br></div>