A critical vulnerability that was recently found in the low-level firmware of Lenovo ThinkPad systems also reportedly exists in products from other vendors, including HP and Gigabyte Technology.
An exploit for the vulnerability was published last week and can be used to execute rogue code in the CPU’s privileged SMM (System Management Mode).
This level of access can then be used to install a stealthy rootkit inside the computer’s Unified Extensible Firmware Interface (UEFI)—the modern BIOS—or to disable Windows security features such as Secure Boot, Virtual Secure Mode and Credential Guard that depend on the firmware being locked down.
The exploit, dubbed ThinkPwn, was released by a security researcher named Dmytro Oleksiuk last week without sharing it with Lenovo in advance. However, since then Oleksiuk has found the same vulnerable code inside older open source firmware for some Intel motherboards.
Lenovo said in a security advisory that the vulnerable code originated in a UEFI package provided to the company by one of its independent BIOS vendors (IBVs). These are companies that take the UEFI reference implementation and extend it, then sell the resulting package to PC manufacturers.
The fact that the vulnerability was in the UEFI implementation of an IBV made it likely that other vendors aside from Lenovo used the vulnerable firmware in their products.
This was confirmed over the weekend by a researcher named Alex James, who reported on Twitter that he found the vulnerable code inside the firmware of an HP Pavilion dv7-4087cl laptop. The firmware was supplied by Insyde Software, a Taiwanese IBV.
James later reported that the vulnerable code exists in the firmware of several motherboards made by Taiwanese computer hardware manufacturer Gigabyte Technology. The vulnerable models include Gigabyte’s Z77X-UD5H, Z68-UD3H, Z87MX-D3H and Z97-D3H.
Intel, HP and Gigabyte didn’t immediately respond to a request for comment.
Oleksiuk believes that the vulnerability originated in Intel’s reference code for its 8-series chipsets and that it was fixed in mid-2014. However, since there were no public advisories about it, it’s possible that IBVs and PC manufacturers missed the patch and continued to use an older version of the reference code as base for their UEFI.
Unfortunately, the affected products from Lenovo, HP and Gigabyte are probably just the tip of the iceberg and it will take a long time for all vendors to check their firmware and release patches. Even then, the adoption rate of BIOS/UEFI updates among users is typically low, so many systems will likely continue to remain vulnerable for years to come.