Last Week on My Mac: Welcome back, Location Services

It was a bad time of year for a serious bug to appear in the current release version of macOS. At the time that much of the northern hemisphere is on vacation and keeping well away from the office, Apple’s engineers are hard at work on the next major releases of all its operating systems. With a demanding schedule of fresh beta-releases to deliver for testing, there can be little time left for fixing problems in the outgoing version of macOS, which is just being transferred to security-only maintenance. For many users, though, this is a critical period that determines whether Macs that are unsupported by the imminent new version of macOS will be left running a lion or a lemon.

This was just the wrong time for the bug introduced in macOS Ventura 13.5 that effectively paralysed access to Location Services until it was fixed in last week’s update to 13.5.1. Although not a crashing bug, memory leak or kernel panic, its effect was disastrous. For over three weeks, every Mac that was kept up to date with Ventura lost all user control over access given by macOS to location and related data.

Those who installed some software like Little Snitch were unable to authorise its access to Location Services, while other apps, notably those already installed, were automatically given access without the user having any say in the matter. For a corporation that places privacy and its protection at the heart of its products, this was surely catastrophic: in the latest release of its current computer operating system, the user had absolutely no control over which apps were given access to their location data.

The heart of this problem wasn’t the failure to check Privacy & Security settings both visually and functionally, although that must have been the case for macOS 13.5 to have been released in that state. No, the root cause was an intentional design choice that makes all privacy protection vulnerable to a single point of failure. Had a similar bug prevented other privacy settings from being accessed by the user, the effect would have been even more catastrophic, because macOS doesn’t provide users with any other means of accessing those controls either.

Across much of macOS, from Disk Utility to Software Update, for each GUI app or suite of settings, there are command line equivalents. If Disk Utility has become bloodyminded about running First Aid on an external disk, you can always resort to diskutil or fsck_apfs in Terminal. Instead of opening the Software Update section in General settings, you can turn to the softwareupdate command tool instead. Yet the only tool that works with those privacy settings controlled by TCC, tccutil, is deliberately stunted so that all it can do is reset them, and there isn’t any tool to work with Location Services.

Apple’s fear is that providing alternative access to these privacy controls would encourage their abuse, which is all very well as long as their controls in System Settings are totally reliable. As we have seen with macOS 13.5 and Location Services, one otherwise minor bug then brings total failure of privacy protection.

In many ways this is a more critical situation than in macOS security generally, where layers of protection are intended to address situations in which one fails or is escaped intentionally. There’s only one safe way to protect against single points of failure, and that’s to be meticulous in ensuring that they remain free from bugs and errors. That clearly wasn’t enforced with user controls over Location Services, to the point where a visually obvious fault wasn’t detected until after it had been released to tens of millions of users.

In recent years I have become increasingly critical of those who abstain from installing macOS updates for a couple of weeks to see what bugs they contain. I am now reconsidering that position. If Apple can’t get such important features right in release software, maybe it’s wiser to let others find its shortcomings before deciding whether to install an update.

Apple was informed of this critical bug within a day or two of the release of macOS 13.5, although why it should ever have needed users to point this out escapes me. But its first official acknowledgement of the bug was in its release note for 13.5.1 over three weeks later, a period over which many more users will have updated and lost all control over Location Services. To know of such a bug and fail to warn users who may not have updated yet doesn’t respect those customers.

Yet when Apple had released a flawed RSR to macOS 13.4.1 on 10 July, it withdrew within hours, fixed the problem, and released a replacement just two days later. As there was a straightforward workaround that could be used to mitigate the error in the original RSR, the need for such urgent action was less compelling than with the bug in 13.5, for which there was no workaround at all.

All this happened without a word of apology: the most we got is the bland statement in its release note, “macOS Ventura 13.5.1 fixes an issue in System Settings that prevents location permissions from appearing”. Is that really the best you can do, Apple?