Users who have an Intel Skylake and Kaby Lake processors have been experiencing unpredictable system behavior that leads to data loss or corruption. This was revealed by a Debian Linux developer, Henrique de Moraes Holschuh, in a “warning” mail to Debian users.
According to the mail, “TL;DR: unfixed Skylake and Kaby Lake processors could, in some situations, dangerously misbehave when hyper-threading is enabled.”
This bug could be experienced in 6th and 7th generation Intel Core processors and some Intel Pentium processors. The processor/microcode bug when triggered can cause errors like system and application misbehaviors when hyper-threading is enabled.
It should also be noted that the defect can affect any other operating system and not just Debian or Linux-based operating systems. On top of that, it is difficult to detect a potentially affected software.
Its unpredictable nature means users of Intel processors that have been affected will need to take recommended action. To avoid it, you need to disable hyper-threading meanwhile for it to be fixed, you have to update the processor microcode.
Is your processor Intel Skylake or Kaby Lake?
All processor models launched before September 2015 are not Skylake or Kaby Lake processors. These older processors are not threatened by the bug. To know your processor’s model name, you can run the below command:
grep name /proc/cpuinfo | sort -u
It should be noted that not all of the processors in the above lists have been affected. This is because some do not have hyper-threading support. For you to know if hyperthreading is supported, run the below command line shell:
grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \ echo "Hyper-threading is supported"
An alternative method is for you to check the processor’s information page from the processor lists. There, you will find information on hyper-threading. Anyhow, if your processor isn’t in the list that supports hyper-threading, then you can ignore it.
What to do if your processor supports Hyperthreading
You can wait for the updates from your Linux distribution or you can take action on your own (if you feel comfortable with it).
Kaby Lake Processor Models: Users who have Intel Kaby Lake processors need to disable hyper-threading in the BIOS/UEFI. You can also fix it by using the Kaby Lake microcode updates. For now, it is available only to system vendors. In this case, you can get in touch with your system vendor to find out if the BIOS/UEFI update is already available. According to the advisory, ask your system vendor to give you a BIOS/UEFI update that can fix “Intel processor errata KBL095, KBW095 or the similar one for my Kaby Lake processor”.
It is recommended that hyper-threading should not be re-enabled until you must have installed a BIOS/UEFI update with the fix.
Skylake Processor Models: With Skylake processor models, users have one of two choices to make:
Install the non-free “intel-microcode” package and reboot your system if your processor model in the list is 78 or 94 with 3 as the steppings of your processor. The package to install is that with base version 3.20170511.1. To know your model number and steppings, run the below command line shell:
grep -E 'model|stepping' /proc/cpuinfo | sort -u
If otherwise, you will need to disable hyper-threading as described in the second choice below.
For processor model numbers other 78 or 94 and whose stepping is not 3, you will need to disable hyper-threading in the BIOS/UEFI configuration. You can check your motherboard manual on how to do it or contact the system vendor in other to acquire the BIOS/UEFI update that fixes “Intel erratum SKW144, SKL150, SKX150, SKZ7, or the similar one for my Skylake processor”.
Click here to get instructions on how to install the microcode updates for Debian. For Ubuntu Linux, Canonical is already working on fixing the problem.
Anyhow, as of now, no one has used this for a possible malware attack. We can’t rule out the possibility of someone using it for a malware attack. So users should make sure the microcode update is done or that hyper-threading should not be re-enabled until you must have installed a BIOS/UEFI update with the fix.