Adoption of Apple’s OS X Yosemite have been impressive so far, and a good thing considering the number of security fixes Apple rolled out along with its new operating system. OS X Yosemite, launch just last week, includes a wide range of bug fixes impacting the security of OS X machines.
OS X Yosemite addresses a combined 45 vulnerabilities (CVEs) in affecting Mac OS X, including fixes for POODLE (CVE-2014-3566) and Shellshock vulnerabilities.
These security updates are available for: Mac OS X 10.6.8 and later.
Among the high profile security flaws addressed in this update is a design flaw in SSL (Secure Socket Layer) 3.0, which could be exploited by criminals, called POODLE. Gregg Keizer over at Computerworld described how hackers could exploit the vulnerability:
POODLE, for “Padding Oracle On Downgraded Legacy Encryption,” was disclosed earlier this week by a trio of Google security engineers who revealed how a design flaw in SSL (Secure Socket Layer) 3.0 could be exploited by criminals. Those hackers could use POODLE to steal browser session cookies, then use the cookies to impersonate victims at websites where they make online purchases, receive email or store files in cloud services.
Mac users who upgrade to OS X Yosemite 10.10 can rest assured as the new operating system includes fixes to mitigate the POODLE vulnerability. Moreover, for those who choose not to upgrade to Yosemite, Apple’s Security Update 2014-005 for OS X Mountain Lion and OS X Mavericks also addresses the flaw in SSL 3.0.
OS X Yosemite 10.10 addresses the following vulnerabilities:
CVE-2014-4364 : An attacker can obtain WiFi credentials. An attacker could have impersonated a WiFi access point, offered to authenticate with LEAP, broken the MS-CHAPv1 hash, and used the derived credentials to authenticate to the intended access point even if that access point supported stronger authentication methods. This issue was addressed by disabling LEAP by default.
CVE-2014-4426 : A remote attacker could determine all the network addresses of the system. The AFP file server supported a command which returned all the network addresses of the system. This issue was addressed by removing the addresses from the result.
CVE-2013-6438, CVE-2014-0098 : Multiple vulnerabilities in Apache. Multiple vulnerabilities existed in Apache, the most serious of which may lead to a denial of service. These issues were addressed by updating Apache to version 2.4.9.
CVE-2014-4427 : An application confined by sandbox restrictions may misuse the accessibility API. A sandboxed application could misuse the accessibility API without the user’s knowledge. This has been addressed by requiring administrator approval to use the accessibility API on an per-application basis.
CVE-2014-6271, CVE-2014-7169 : In certain configurations, a remote attacker may be able to execute arbitrary shell commands. An issue existed in Bash’s parsing of environment variables. This issue was addressed through improved environment variable parsing by better detecting the end of the function statement. This update also incorporated the suggested CVE-2014-7169 change, which resets the parser state. In addition, this update added a new namespace for exported functions by creating a function decorator to prevent unintended header passthrough to Bash. The names of all environment variables that introduce function definitions are required to have a prefix “__BASH_FUNC<” and suffix “>()” to prevent unintended function passing via HTTP headers.
CVE-2014-4428 : A malicious Bluetooth input device may bypass pairing. Unencrypted connections were permitted from Human Interface Device-class Bluetooth Low Energy devices. If a Mac had paired with such a device, an attacker could spoof the legitimate device to establish a connection. The issue was addressed by denying unencrypted HID connections.
CVE-2014-4425 : The ‘require password after sleep or screen saver begins’ preference may not be respected until after a reboot. A session management issue existed in the handling of system preference settings. This issue was addressed through improved session tracking.
CVE-2014-4430 : An encrypted volume may stay unlocked when ejected. When an encrypted volume was logically ejected while mounted, the volume was unmounted but the keys were retained, so it could have been mounted again without the password. This issue was addressed by erasing the keys on eject.
CVE-2014-3537 : A local user can execute arbitrary code with system privileges. When the CUPS web interface served files, it would follow symlinks. A local user could create symlinks to arbitrary files and retrieve them through the web interface. This issue was addressed by disallowing symlinks to be served via the CUPS web interface.
CVE-2014-4431 : In some circumstances, windows may be visible even when the screen is locked. A state management issue existed in the handling of the screen lock. This issue was addressed through improved state tracking.
CVE-2014-4432 : The fdesetup command may provide misleading status for the state of encryption on disk. After updating settings, but before rebooting, the fdesetup command provided misleading status. This issue was addressed through improved status reporting.
CVE-2014-4435 : iCloud Lost mode PIN may be bruteforced. A state persistence issue in rate limiting allowed brute force attacks on iCloud Lost mode PIN. This issue was addressed through improved state persistence across reboots.
CVE-2014-4373 : An application may cause a denial of service. A NULL pointer dereference was present in the IntelAccelerator driver. The issue was addressed through improved error handling.
CVE-2014-4405 : A malicious application may be able to execute arbitrary code with system privileges. A null pointer dereference existed in IOHIDFamily’s handling of key-mapping properties. This issue was addressed through improved validation of IOHIDFamily key-mapping properties.
CVE-2014-4404 : A malicious application may be able to execute arbitrary code with system privileges. A heap buffer overflow existed in IOHIDFamily’s handling of key-mapping properties. This issue was addressed through improved bounds checking.
CVE-2014-4436 : An application may cause a denial of service. A out-of-bounds memory read was present in the IOHIDFamily driver. The issue was addressed through improved input validation.
CVE-2014-4380 : A user may be able to execute arbitrary code with system privileges. An out-of-bounds write issue exited in the IOHIDFamily driver. The issue was addressed through improved input validation.
CVE-2014-4407 : A malicious application may be able to read uninitialized data from kernel memory. An uninitialized memory access issue existed in the handling of IOKit functions. This issue was addressed through improved memory initialization.
CVE-2014-4388 : A malicious application may be able to execute arbitrary code with system privileges. A validation issue existed in the handling of certain metadata fields of IODataQueue objects. This issue was addressed through improved validation of metadata.
CVE-2014-4418 : A malicious application may be able to execute arbitrary code with system privileges. A validation issue existed in the handling of certain metadata fields of IODataQueue objects. This issue was addressed through improved validation of metadata.
CVE-2014-4371, CVE-2014-4419, CVE-2014-4420, CVE-2014-4421 : A local user may be able to determine kernel memory layout. Multiple uninitialized memory issues existed in the network statistics interface, which led to the disclosure of kernel memory content. This issue was addressed through additional memory initialization.
CVE-2014-4433 : A maliciously crafted file system may cause unexpected system shutdown or arbitrary code execution. A heap-based buffer overflow issue existed in the handling of HFS resource forks. A maliciously crafted filesystem may cause an unexpected system shutdown or arbitrary code execution with kernel privileges. The issue was addressed through improved bounds checking.
CVE-2014-4434 : A malicious file system may cause unexpected system shutdown. A NULL dereference issue existed in the handling of HFS filenames. A maliciously crafted filesystem may cause an unexpected system shutdown. This issue was addressed by avoiding the NULL dereference.
CVE-2014-4375 : A local user may be able to cause an unexpected system termination or arbitrary code execution in the kernel. A double free issue existed in the handling of Mach ports. This issue was addressed through improved validation of Mach ports.
CVE-2011-2391 : A person with a privileged network position may cause a denial of service. A race condition issue existed in the handling of IPv6 packets. This issue was addressed through improved lock state checking.
CVE-2014-4408 : A local user may be able to cause an unexpected system termination or arbitrary code execution in the kernel. An out-of-bounds read issue existed in rt_setgate. This may lead to memory disclosure or memory corruption. This issue was addressed through improved bounds checking.
CVE-2014-4442 : A local user can cause an unexpected system termination. A reachable panic existed in the handling of messages sent to system control sockets. This issue was addressed through additional validation of messages.
CVE-2014-4422 : Some kernel hardening measures may be bypassed. The random number generator used for kernel hardening measures early in the boot process was not cryptographically secure. Some of its output was inferable from user space, allowing bypass of the hardening measures. This issue was addressed by using a cryptographically secure algorithm.
CVE-2014-4437 : A local application may bypass sandbox restrictions. The LaunchServices interface for setting content type handlers allowed sandboxed applications to specify handlers for existing content types. A compromised application could use this to bypass sandbox restrictions. The issue was addressed by restricting sandboxed applications from specifying content type handlers.
CVE-2014-4438 : Sometimes the screen might not lock. A race condition existed in LoginWindow, which would sometimes prevent the screen from locking. The issue was addressed by changing the order of operations.
CVE-2014-4439 : Mail may send email to unintended recipients. A user interface inconsistency in Mail application resulted in email being sent to addresses that were removed from the list of recipients. The issue was addressed through improved user interface consistency checks.
CVE-2014-4440 : When mobile configuration profiles were uninstalled, their settings were not removed. Web proxy settings installed by a mobile configuration profile were not removed when the profile was uninstalled. This issue was addressed through improved handling of profile uninstallation.
CVE-2014-4441 : File Sharing may enter a state in which it cannot be disabled. A state management issue existed in the File Sharing framework. This issue was addressed through improved state management.
CVE-2014-4351 : Playing a maliciously crafted m4a file may lead to an unexpected application termination or arbitrary code execution. A buffer overflow existed in the handling of audio samples. This issue was addressed through improved bounds checking.
CVE-2013-5150 : History of pages recently visited in an open tab may remain after clearing of history. Clearing Safari’s history did not clear the back/forward history for open tabs. This issue was addressed by clearing the back/forward history.
CVE-2014-4417 : Opting in to push notifications from a maliciously crafted website may cause future Safari Push Notifications to be missed. An uncaught exception issue existed in SafariNotificationAgent’s handling of Safari Push Notifications. This issue was addressed through improved handling of Safari Push Notifications.
CVE-2014-3566 : An attacker may be able to decrypt data protected by SSL. There are known attacks on the confidentiality of SSL 3.0 when a cipher suite uses a block cipher in CBC mode. An attacker could force the use of SSL 3.0, even when the server would support a better TLS version, by blocking TLS 1.0 and higher connection attempts. This issue was addressed by disabling CBC cipher suites when TLS connection attempts fail.
CVE-2014-4443 : A remote attacker may be able to cause a denial of service. A null dereference existed in the handling of ASN.1 data. This issue was addressed through additional validation of ASN.1 data.
CVE-2014-4444 : A local user might have access to another user’s Kerberos tickets. A state management issue existed in SecurityAgent. While Fast User Switching, sometimes a Kerberos ticket for the switched-to user would be placed in the cache for the previous user. This issue was addressed through improved state management.
CVE-2014-4391 : Tampered applications may not be prevented from launching. Apps signed on OS X prior to OS X Mavericks 10.9 or apps using custom resource rules, may have been susceptible to tampering that would not have invalidated the signature. On systems set to allow only apps from the Mac App Store and identified developers, a downloaded modified app could have been allowed to run as though it were legitimate. This issue was addressed by ignoring signatures of bundles with resource envelopes that omit resources that may influence execution. OS X Mavericks v10.9.5 and Security Update 2014-004 for OS X Mountain Lion v10.8.5 already contain these changes.
OS X Mavericks and OS X Mountain Lion users can upgrade to OS X Yosemite 10.10 from the Apple menu > Software Update, or by opening the Mac App Store and clicking the Update icon at the top right. OS X Yosemite includes Safari 8.0, which incorporates the security content of Safari 7.1.