Processor manufacturers and operating system vendors have released patches for or have outlined plans to address a new variant of the Spectre vulnerability that is as serious as the ones disclosed in January.
The new flaw also stems from the speculative execution feature of modern CPUs, which enhances their performance by guessing in advance the execution paths that programs will take. The new variant is known as Speculative Store Bypass (SSB), or Spectre variant 4, and is tracked as CVE-2018-3639.
The vulnerability affects processors from Intel, AMD, ARM and IBM and was discovered independently by researchers from Microsoft and Google Project Zero. In terms of impact, SSB is similar to Spectre variant 1, as it allows attackers to leak sensitive information from protected memory regions.
“SSB arises due to a CPU optimization that can allow a potentially dependent load instruction to be speculatively executed ahead of an older store,” Microsoft said in a blog post. “Specifically, if a load is predicted as not being dependent on a prior store, then the load can be speculatively executed before the store. If the prediction is incorrect, this can result in the load reading stale data and possibly forwarding that data onto other dependent micro-operations during speculation. This can potentially give rise to a speculative execution side channel and the disclosure of sensitive information.”
CPU manufacturers have worked together with browser, hypervisor and OS developers to coordinate the release of information about the vulnerability and to develop software and firmware mitigations.
“Intel has released Beta microcode updates to operating system vendors, equipment manufacturers, and other ecosystem partners adding support for Speculative Store Bypass Disable (SSBD),” Intel said in a security advisory. “SSBD provides additional protection by providing a means for system software to completely inhibit a Speculative Store Bypass from occurring if desired.”
Leslie Culbertson, Intel’s executive vice president and general manager of Product Assurance and Security, said that even though the new protection will be included in microcode updates, it will be turned off by default. Testing revealed a performance impact of 2 percent to 8 percent when the feature was enabled, so it’s better for users to choose on their own if they want to turn it on.
The mitigations deployed by major browser vendors for Spectre variant 1 should will make exploitation of SBB much more difficult in a browser context.
“There are a number of previously described mitigations that are also generally applicable to SSB,” Microsoft said. “These include mitigations that involve removing sensitive content from memory or removing observation channels. Generally speaking, the mitigation techniques for these two tactics that are effective against CVE-2017-5753 (Spectre variant 1) are also applicable to SSB.”
Exploiting SSB requires a particular sequence of instructions and Microsoft said that it hasn’t identified such a sequence in any of its products so far.
AMD shared mitigations with operating system vendors for CPUs going back to the Family 15 processors also known as “Bulldozer.” Users should check their OS vendor’s schedule for receiving those updates. Microsoft is already testing the AMD mitigations and Linux distributors are developing updates as well, the company said.
SBB also affects ARM Cortex-A57, Cortex-A72, Cortex-A73 and Cortex-A75 CPUs and mitigation is based on disabling a hardware feature called memory disambiguation at boot time. Support for this will be added in firmware, ARM said.
IBM has released firmware patches for its POWER7, POWER7+, POWER8 and POWER9 platforms.
In addition to SSB, the new patches released by CPU vendors address a variation of Spectre originally found internally by ARM and dubbed Rogue System Register Read (RSRE) or Spectre variant 3a. This flaw is tracked as CVE-2018-3640 and could allow an attacker with local user access to disclose system parameters.