After being caught off guard by the disclosure of a serious flaw in the Linux kernel this week, Google has quickly developed a patch for Android and shared it with device manufacturers.
It might take weeks for device makers to start releasing firmware updates that include the fix, but that's not a huge problem since, according to Google's assessment, the flaw doesn't affect many Android devices to begin with.
The privilege escalation vulnerability allows attackers to gain full control over Linux-based systems if they have access to a limited account or trick users into running a malicious application. It was found by researchers from Israeli threat defense start-up Perception Point.
The researchers notified the Linux kernel maintainers and Red Hat in advance of publicly disclosing the issue Tuesday. However, they did not contact the Android security team, despite claiming that around 66 percent of Android devices are potentially vulnerable.
Their estimation was based on the fact that the flaw affects all Linux kernel versions from 3.8 forward, and that such vulnerable kernels are used in Android starting with version 4.4 (KitKat).
However, in the Android world a device's kernel version depends more on the manufacturer's choice than on the version of Android installed on it. Manufacturers don't necessarily update the kernel when creating firmware based on newer Android versions, especially for older devices.
Adrian Ludwig, Android's lead security engineer, puts the number of affected devices much lower than Perception Point.
"Many devices running Android 4.4 and earlier do not contain the vulnerable code introduced in Linux kernel 3.8, as those newer kernel versions [are] not common on older Android devices," he said in a blog post.
Furthermore, according to Ludwig, devices that run Android 5.0 (Lollipop) and newer are protected even if they do use vulnerable kernels, because those Android versions have the Security-Enhanced Linux (SELinux) kernel module.
The Android SELinux policy in these versions prevents third-party applications from reaching the affected code, he said, adding that none of Google's Nexus devices are affected either.
This appears to contradict both the Perception Point researchers, who said that there are possible ways to bypass SELinux, and Red Hat, which said in its own advisory that SELinux does not mitigate this issue.
Ludwig said that the fix created by Google for this flaw, "will be required on all devices with a security patch level of March 1 2016 or greater."
However, this doesn't force manufacturers to integrate it until March 1 or even at all on older devices. They just won't be able to advertise a March 1 patch level on those devices.
The patch level is essentially a date string displayed in Android's settings under "About phone" which indicates that the firmware contains all Android security patches up to that date. It only exists in newer versions of Android.