The JSOF research lab has discovered a series of zero-day vulnerabilities in a widely used low-level TCP/IP software library developed by Treck, Inc. The 19 vulnerabilities, given the name Ripple20, affect hundreds of millions of devices (or more) and include multiple remote code execution vulnerabilities. The risks inherent in this situation are high. Just a few examples: data could be stolen off of a printer, an infusion pump behavior changed, or industrial control devices could be made to malfunction. An attacker could hide malicious code within embedded devices for years. One of the vulnerabilities could enable entry from outside into the network boundaries; and this is only a small taste of the potential risks.
The interesting thing about Ripple20 is the incredible extent of its impact, magnified by the supply chain factor. The wide-spread dissemination of the software library (and its internal vulnerabilities) was a natural consequence of the supply chain “ripple-effect”. A single vulnerable component, though it may be relatively small in and of itself, can ripple outward to impact a wide range of industries, applications, companies, and people.
Ripple20 reached critical IoT devices from a wide range of fields, involving a diverse group of vendors. Affected vendors range from one-person boutique shops to Fortune 500 multinational corporations, including HP, Schneider Electric, Intel, Rockwell Automation, Caterpillar, Baxter, as well as many other major international vendors suspected of being of vulnerable in medical, transportation, industrial control, enterprise, energy (oil/gas), telecom, retail and commerce, and other industries.
A detailed technical report of two of the vulnerabilities and their exploitation can be found in the CVE-2020-11896/CVE-2020-11898 whitepaper (click here).
JSOF has demonstrated exploitation of these vulnerabilities on different devices as a proof-of-concept. Watch us turn off the plug on a UPS:
JSOF will be providing scripts for the identification of products running Treck upon request.
For more information or requests please contact: [email protected]
Following the software trail
The software library spread far and wide, to the point that tracking it down has been a major challenge. As we traced through the distribution trail of Treck’s TCP/IP library , we discovered that over the past two decades this basic piece of networking software has been spreading around the world, through both direct and indirect use. As a dissemination vector, the complex supply chain provides the perfect channel, making it possible for the original vulnerability to infiltrate and camouflage itself almost endlessly.
We even discovered different branches in different geographic areas. Back in the 1990s, Treck collaborated with a Japanese company named Elmic Systems. They later split apart and went their separate ways. This resulted in two separate branches of the TCP/IP stack devices – one managed by Treck and one managed by Elmic Systems – marketed in totally separate areas, with no contact between them.
Other than ELMIC, the Treck stack could also be known by other names: Net+ OS, Quadnet, GHNET v2, Kwiknet.
JSOF has been invited to speak about these vulnerabilities at Black Hat USA, August 2020.
More Information
For a detailed description of the supply chain effect and impact of Ripple20 and how JSOF tracked it down, see Supply chain and Disclosure.
For a technical overview, including a full list of affected vendors take a look at the Technical Overview section.
Advisories by: ICS CERT, CERT/CC, JPCERT/CC,CERT-IL
Advisories by: ABB, Aruba Networks, B.Braun, Baxter, CareStream, Caterpillar, Cisco ,Digi International, Green Hills, HP, HPE, Intel, Miele, Opto22, Rockwell Automation, Schneider Electric, Smiths Medical, Teradici, Xerox
For Mitigations and Risk Evaluation, see Risk & Mitigation section.
Thank you
This was a big project. It would not be possible without the help of many.
• Andrew and Mark from EFF for their time and patience
• Elad Luz from CyberMDX for support, advice, comments, finding affected devices and being great overall.
• Claroty for their much-needed help and support
• CISA ICS-CERT, CER/TCC, JPCERT/CC CERT-IL for all their help and support coordinating the disclosure
• Zack Weiner for Public Relations and communications
• Gavin Goodvach for video editing, and professional censorship
• Daniel Dos Santos from Forescout for finding affected devices
• Nate Pollack and Jon Rabinowitz for communications help
• Shaked Heyman for holding tight while his mom was away making the world more secure
• Checkpoint research team for help
• Aviv Sinai for research support at a critical moment
• lyrebirds.dk for sharing some firmwares (not vulnerable)
• Shani and Hadas for building our new website under a crazy timeline
Credits
• Research: Moshe Kol, Ariel Schon, Shlomi Oberman, Alon Dotan , Andrey Zagrebin, Yuli Shapiro
• Orchestration & oversight: Sari Heyman, Shlomi Oberman
• Keeping the company afloat while Shlomi is occupied: Yuli Shapiro & Team
• Giving us grief: vendors worldwide
• Using obscure variations of x86 in your products: you know who you are.
Risk Evaluation and Mitigations
Ripple20 poses a significant risk from the devices still in use. Potential risk scenarios include:
• An attacker from outside the network taking control over a device within the network, if internet facing.
• An attacker who has already managed to infiltrate a network can use the library vulnerabilities to target specific devices within it.
• An attacker could broadcast an attack capable of taking over all impacted devices in the network simultaneously.
• An attacker may utilize affected device as a way to remain hidden within the network for years
• A sophisticated attacker can potentially perform an attack on a device within the network, from outside the network boundaries, thus bypassing NAT configurations. This can be done by performing a MITM attack or a dns cache poisoning.
• In some scenarios, an attacker may be able to perform attacks from outside the network by replying to packets that leave network boundaries, bypassing NAT
In all scenarios, an attacker can gain complete control over the targeted device remotely, with no user interaction required.
JSOF recommends taking measures to minimize or mitigate the risk of device exploitation. Mitigation options depend on the context. Device vendors would have different approaches from network operators. In general, we recommend the following steps:
- All organizations must perform a comprehensive risk assessment before deploying defensive measures.
- First deploy defensive measures in a passive “alert” mode.
- Mitigation for device vendors:
- Determine if you use a vulnerable Treck stack
- Contact Treck to understand risks
- Update to latest Treck stack version (6.0.1.67 or higher)
- If updates are not possible, consider disabling vulnerable features, if possible
- Mitigation for operators and networks:
(based on CERT/CC and CISA ICS-CERT advisories)- The first and best mitigation is updating to patched versions of all devices.
- If devices cannot be updated, the following steps are recommended:
- Minimize network exposure for embedded and critical devices, keeping exposure to the minimum necessary, and ensuring that devices are not accessible from the Internet unless absolutely essential.
- Segregate OT networks and devices behind firewalls and isolate them from the business network.
- Enable only secure remote access methods.
- Block anomalous IP traffic.
- Block network attacks via deep packet inspection, to reduce risk to your Treck embedded TCP/IP-enabled devices.
Pre-emptive traffic filtering is an effective technique that can be applied as appropriate to your network environment. Filtering options include:
• Normalize or block IP fragments, if not supported in your environment.
• Disable or block IP tunneling (IPv6-in-IPv4 or IP-in-IP tunneling), if not required.
• Block IP source routing, and any IPv6 deprecated features, like routing headers VU#267289
• Enforced TCP inspection, rejecting malformed TCP packets.
• Block unused ICMP control messages, such as MTU update and Address Mask updates.
• Normalize DNS through a secure recursive server or DNS inspection firewall. (Verify that your recursive DNS server normalizes requests.)
• Provide DHCP/DHCPv6 security, with features such as DHCP snooping.
• Disable/Block IPv6 multicast capabilities if not used in the switching infrastructure.
• Disable DHCP where static IPs can be used.
• Employ network IDS and IPS signatures.
• Employ network segmentation, if available.