CISA advisory ICSMA-18-058-01, first published February 27, 2018 and since revised through Update C, covers the Medtronic 2090 CareLink Programmer and the 29901 Encore Programmer, all versions. Billy Rios and Jonathan Butts of Whitescope LLC are credited. The advisory lists three CVEs.
CVE-2018-10596 (CWE-923, CVSS v3 7.1) carries the most weight. The programmers open an IP-based VPN to a Medtronic-hosted update network and then request updates from an HTTP (non-TLS) server across it. The client never checks that the VPN is still up before it sends that request, and the advisory says the products do not verify the origin or integrity of the updates they receive.
An attacker who forces the VPN down can intercept the HTTP request and answer with a malicious update in a man-in-the-middle attack. The design relied on the tunnel for protection that only a signature check on the update itself can give.
The other two rate lower. CVE-2018-5446 (CWE-257, CVSS 4.9) is a per-product username and password stored in a recoverable format, so someone with physical access to a 2090 Programmer could obtain credentials to the software deployment network, limited to read-only versions of device software applications. CVE-2018-5448 (CWE-23, CVSS 4.8) is a directory traversal in the software deployment network that could allow reading files on the system.
Medtronic responded in stages. It disabled the network-based update mechanism, including both the VPN and the HTTP subservices, and told users to apply updates through controlled USB dongles. It later deployed mitigating patches, obtainable through Medtronic Technical Services, and re-enabled network updates. For the stored credential, Medtronic said it would not issue a product update and pointed to compensating controls in the 2090 Programmer Reference Manual.