Apple's latest update to OS X contains a dangerous programming error that reveals the passwords for material stored in the first version of FileVault, the company's encryption technology, a software consultant said.
David I. Emery wrote on Cryptome that a debugging switch inadvertently left on in the current release of Lion, version 10.7.3, records in clear text the password needed to open the folder encrypted by the older version of FileVault.
Users who are vulnerable are those who upgraded to Lion but are using the older version of FileVault. The debug switch will record the Lion passwords for anyone who has logged in since the upgrade to version 10.7.3, released in early February.
"This is what the secure FileVault partition was supposed to protect against after all," Emery said in an interview.
Apple has two versions of FileVault. The first version allowed a user to encrypt the contents of the home folder using the Advanced Encryption Standard (AES) with 128-bit keys. An upgraded product, FileVault 2, which shipped with OS X Lion, encrypts the entire content of the hard drive.
When someone upgrades to Lion but still uses the first version of FileVault, the encrypted home folder is migrated, which is now vulnerable with this security issue. Emery wrote that the password is accessible to anyone with root or administrator access, he wrote. But what is worse is that passwords can also be read another way.
Emery described that passwords can also be read by "booting the machine into FireWire disk mode and reading it by opening the drive as a disk or by booting the new-with-Lion recovery partition and using the available superuser shell to mount the main file system partition and read the file."
"This would allow someone to break into encrypted partitions on machines they did not have any idea of any login passwords for," he wrote.
There are a couple ways to mitigate the problem. Emery wrote that the FireWire disk and recovery partition attack can be headed off by using FileVault 2. An attacker would have to know at least one password before a file could be accessed on the main partition of the disk, he wrote.
Also, a firmware password could be set that would be needed in order to boot the recovery partition, external media or even enter the FireWire disk mode. Emery cautioned though that Apple "Genius Bar" employees know a standard technique to turn it off.
The issue highlights the fragility of technology, Emery said. "A mistake like this exposes more or less the keys to the kingdom to someone with literally no access to a supposedly secured area on a machine, and maybe nothing more than chance physical access to a target's laptop for a few unguarded minutes," he said.
The bug has probably been around since the release of 10.7.3, Emery wrote. Emery said he wasn't the first to find the problem, and that other people discovered it several weeks before he did and reported it to Apple.
"One wonders why such a debug switch exists in shipped production code," Emery wrote. "Clearly it could be invoked covertly in specific situations. This seems to be an example of someone turning it on for the entire release by accident."
Apple did not have an immediate comment.