Google Project Zero team discovered a method to read privileged memory from user space by utilizing CPU data cache timing to leak information out of mis-speculated execution. Variants of this issue are known to affect many modern processors, including certain processors by Intel, AMD and ARM. For more details refer to this blogpost.
So far, there are three known variants of the issue:
Variants 1 & 2 are referred to as Spectre and Variant 3 as Meltdown.
Timesys has been monitoring vendor websites and open source mailing lists regarding affected CPUs and software mitigation strategies, and below are our findings:
Summary of affected CPUs:
Note: For more details on the exact versions of CPUs affected, visit the vendor website in the link provided above.
Upstream software mitigation status (as of 1/16/2018):
Option 2: Applying a software mitigation (e.g., Google’s Retpoline) to the hypervisor, operating system kernel, system programs and libraries, and user applications
Kernel Page Table Isolation (KPTI) patches
ARM believes no software mitigation is required for Variant 3a
Considerations before applying patches
Can your product be exploited?
Based on our experience, interacting with customers’ typical embedded systems running Linux are mostly closed systems that do not allow running arbitrary code. So unless your product allows running 3rd party or WEB applications, we believe the device is not exposed to exploits based on the above vulnerabilities. So it might be worthwhile to assess the security impact for your product before rushing to fix it.
Microcode update (x86 only):
Microcode updates are typically handled via BIOS updated via hardware vendor. However, it is possible for a Linux based system to load the microcode at runtime (done on every boot). For applying the latest microcode on Linux, follow the instructions in the Release Notes provided by Intel in their microcode package.
There have been reports of performance impacts when applying the patches and/or microcode. The impact depends on the operations being performed by the CPU, and we recommended profiling the system under full load after updating the system to understand the performance impact for your use case.
Variant 3 alone requires more than 40+ patches to be applied to the kernel. Given the severity of the vulnerability, the kernel maintainers are backporting the patches to LTS (Long term stable) versions of the kernel.
Patch flux and ongoing monitoring:
Given the nature of attack, the fixes are going to be ongoing as nuances of the attack are understood. Many of the currently submitted patches are still under review and will take weeks before making it into LTS kernel release.
Timesys will continue to monitor the status on the above CVEs and update this blog post as fixes become available. For information about your board, contact Timesys.
Akshay Bhat is a Security Architect at Timesys. Akshay’s experience with embedded systems spans a broad range of industries with a focus on board bring-up, driver development and software security. Akshay received his MS in Electrical Engineering from NYU Polytechnic University.
Timesys has extensive experience with embedded system development and lifecycle management. Timesys has been instrumental in working with global leader semiconductor manufacturers with smart, quick and quality solutions for highly complex systems with accelerated product innovation and multiple product variants.