----------------------------------------------------------------------- [ iViZ Security Advisory 08-009 25/08/2008 ] ----------------------------------------------------------------------- iViZ Techno Solutions Pvt. Ltd. http://www.ivizsecurity.com ----------------------------------------------------------------------- * Title: Grub Legacy Security Model bypass exploiting wrong BIOS API usage * Date: 25/08/2008 * Software: Grub Legacy --[ Synopsis: The password checking routine of Grub fails to sanitize the BIOS keyboard buffer before AND after reading passwords. --[ Affected Software: * Grub Legacy 0.97 (current) and all previous versions --[ Technical description: Grub's pre-boot authentication routines use the BIOS API to read user input via the keyboard. The BIOS internally copies the keystrokes in a RAM structure called the BIOS Keyboard buffer inside the BIOS Data Area. This buffer is not flushed after use, resulting in potential plain text password leakage once the OS is fully booted, assuming the attacker can read the password at physical memory location 0x40:0x1e. It is also possible for a root user to reboot the computer by instrumenting the BIOS keyboard buffer in spite of the full disk encryption. --[ Impact: 1) Plain text password disclosure. Required privileges to perform this operation are OS dependent, from unprivileged users under Windows (any), to root under most Unix. 2) A privileged attacker able to write to the MBR and knowing the password (for instance thanks to 1), is able to reboot the computer in spite of the password prompted at boot time (and in spite of disk encryption) by initializing the BIOS keyboard buffer with the correct password (using an intermediary bootloader that will in turn run Grub). --[ Full Technical Whitepaper http://www.ivizsecurity.com/research/preboot/preboot_whitepaper.pdf --[ Vendor response: * No Response from author in spite of multiple solicitations. * vendor-sec@lst.de has been intimated and distribution makers are working on separate fixes. --[ Credits: This vulnerability was discovered by Security Researcher Jonathan Brossard from iViZ Techno Solutions Pvt. Ltd. --[ Disclosure timeline: * First private disclosure to vendor on July 15th 2008 * Contacted vendor-sec@lst.de and bug-grub@gnu.org on July 29th 2008 * First Public disclosure at Defcon 16 on August 10th 2008 --[ Reference: http://www.ivizsecurity.com/security-advisory.html _______________________________________________ Full-Disclosure - We believe in it. Charter: http://lists.grok.org.uk/full-disclosure-charter.html Hosted and sponsored by Secunia - http://secunia.com/