grub2 (SL7)

Synopsis: Low: grub2 security, bug fix, and enhancement update
Advisory ID: SLSA-2015:2401-1
Issue Date: 2015-11-19
CVE Numbers: CVE-2015-5281

It was discovered that grub2 builds for EFI systems contained modules that
were not suitable to be loaded in a Secure Boot environment. An attacker
could use this flaw to circumvent the Secure Boot mechanisms and load non-
verified code. Attacks could use the boot menu if no password was set, or
the grub2 configuration file if the attacker has root privileges on the
system. (CVE-2015-5281)

This update also fixes the following bugs:

* In one of the earlier updates, GRUB2 was modified to escape forward
slash (/) characters in several different places. In one of these places,
the escaping was unnecessary and prevented certain types of kernel
command-line arguments from being passed to the kernel correctly. With
this update, GRUB2 no longer escapes the forward slash characters in the
mentioned place, and the kernel command-line arguments work as expected.

* Previously, GRUB2 relied on a timing mechanism provided by legacy
hardware, but not by the Hyper-V Gen2 hypervisor, to calibrate its timer
loop. This prevented GRUB2 from operating correctly on Hyper-V Gen2. This
update modifies GRUB2 to use a different mechanism on Hyper-V Gen2 to
calibrate the timing. As a result, Hyper-V Gen2 hypervisors now work as

* Prior to this update, users who manually configured GRUB2 to use the
built-in GNU Privacy Guard (GPG) verification observed the following error
on boot:

alloc magic is broken at [addr]: [value] Aborted.

Consequently, the boot failed. The GRUB2 built-in GPG verification has
been modified to no longer free the same memory twice. As a result, the
mentioned error no longer occurs.

* Previously, the system sometimes did not recover after terminating
unexpectedly and failed to reboot. To fix this problem, the GRUB2 packages
now enforce file synchronization when creating the GRUB2 configuration
file, which ensures that the required configuration files are written to
disk. As a result, the system now reboots successfully after crashing.

* Previously, if an unconfigured network driver instance was selected and
configured when the GRUB2 bootloader was loaded on a different instance,
GRUB2 did not receive notifications of the Address Resolution Protocol
(ARP) replies. Consequently, GRUB2 failed with the following error

error: timeout: could not resolve hardware address.

With this update, GRUB2 selects the network driver instance from which it
was loaded. As a result, ARP packets are processed correctly.

In addition, this update adds the following enhancement:

* Sorting of GRUB2 boot menu has been improved. GRUB2 now uses the
rpmdevtools package to sort available kernels and the configuration file
is being generated correctly with the most recent kernel version listed at
the top.


– Scientific Linux Development Team