{"vuid":"VU#636397","idnumber":"636397","name":"IP-in-IP protocol routes arbitrary traffic by default","keywords":null,"overview":"### Overview\r\nIP Encapsulation within IP (RFC2003 IP-in-IP) can be abused by an unauthenticated attacker to unexpectedly route arbitrary network traffic through a vulnerable device.\r\n\r\n### Description\r\nIP-in-IP encapsulation is a tunneling protocol specified in RFC 2003 that allows for IP packets to be encapsulated inside another IP packets. This is very similar to IPSEC VPNs in tunnel mode, except in the case of IP-in-IP, the traffic is unencrypted. As specified, the protocol unwraps the inner IP packet and forwards this packet through IP routing tables, potentially providing unexpected access to network paths available to the vulnerable device. An IP-in-IP device is considered to be vulnerable if it accepts IP-in-IP packets from any source to any destination without explicit configuration between the specified source and destination IP addresses. This unexpected Data Processing Error (CWE-19)  by a vulnerable device can be abused to perform reflective DDoS and in certain scenarios used to bypass network access control lists. Because the forwarded network packet may not be inspected or verified by vulnerable devices, there are possibly other unexpected behaviors that can be abused by an attacker on the target device or the target device's network environment.\r\n\r\n### Impact\r\nAn unauthenticated attacker can route network traffic through a vulnerable device, which may lead to reflective DDoS, information leak and bypass of network access controls.\r\n\r\n### Solution\r\n#### Apply updates\r\nThe CERT/CC recommends that you apply the latest patch provided by the affected vendor that addresses this issue. Review the vendor information below or contact your vendor or supplier for specific mitigation advice. If a device has the ability to disable IP-in-IP in its configuration, it is recommended that you disable IP-in-IP in all interfaces that do not require this feature. Device manufacturers are urged to disable IP-in-IP in their default configuration and to require their customers to explicitly configure IP-in-IP as and when needed.\r\n\r\n#### Disable IP-in-IP\r\nUsers can block IP-in-IP packets by filtering IP protocol number 4. Note this filtering is for the IPv4 Protocol (or IPv6 Next Header) field value of 4 and *not* IP protocol version 4 (IPv4).\r\n\r\n#### Proof of Concept (PoC)\r\nA proof-of-concept originally written by Yannay Livneh is [available](https://github.com/CERTCC/PoC-Exploits/tree/master/cve-2020-10136) in the CERT/CC PoC respository.\r\n\r\n#### Detection Signature (IDS)\r\nThis Snort IDS rule looks for any IP-in-IP traffic, whether intentional or not seen at upstream network path of a vulnerable device. This Snort or Suricata rule can be modified to apply filters that ignore sources and destinations that are allowed by policy to route IP-in-IP  traffic.\r\n\r\n`alert ip any any -> any any (msg: \"IP-in-IP Tunneling VU#636397 https://kb.cert.org\"; ip_proto:4; sid: 1367636397; rev:1;)\r\n`\r\n\r\n### Acknowledgements\r\nThanks to Yannay Livneh  for reporting this issue to us.\r\n\r\nThis document was written by Vijay Sarvepalli.","clean_desc":null,"impact":null,"resolution":null,"workarounds":null,"sysaffected":null,"thanks":null,"author":null,"public":["https://tools.ietf.org/html/rfc2003","https://tools.ietf.org/html/rfc6169","https://github.com/CERTCC/PoC-Exploits/tree/master/cve-2020-10136"],"cveids":["CVE-2020-10136"],"certadvisory":null,"uscerttechnicalalert":null,"datecreated":"2020-06-02T08:08:59.705338Z","publicdate":"2020-06-01T00:00:00Z","datefirstpublished":"2020-06-02T08:08:59.717071Z","dateupdated":"2020-09-30T18:58:55.706196Z","revision":14,"vrda_d1_directreport":null,"vrda_d1_population":null,"vrda_d1_impact":null,"cam_widelyknown":null,"cam_exploitation":null,"cam_internetinfrastructure":null,"cam_population":null,"cam_impact":null,"cam_easeofexploitation":null,"cam_attackeraccessrequired":null,"cam_scorecurrent":null,"cam_scorecurrentwidelyknown":null,"cam_scorecurrentwidelyknownexploited":null,"ipprotocol":null,"cvss_accessvector":null,"cvss_accesscomplexity":null,"cvss_authentication":null,"cvss_confidentialityimpact":null,"cvss_integrityimpact":null,"cvss_availabilityimpact":null,"cvss_exploitablity":null,"cvss_remediationlevel":null,"cvss_reportconfidence":null,"cvss_collateraldamagepotential":null,"cvss_targetdistribution":null,"cvss_securityrequirementscr":null,"cvss_securityrequirementsir":null,"cvss_securityrequirementsar":null,"cvss_basescore":null,"cvss_basevector":null,"cvss_temporalscore":null,"cvss_environmentalscore":null,"cvss_environmentalvector":null,"metric":null,"vulnote":2}