macOS 27.2.1 laat curl eMudhra niet meer vertrouwen. Dit zou ik controleren in mijn Mac-app
Door Justinas Rolando, maker van MacPip
Op 9 november 2026 bracht Apple macOS 27.2.1 uit, met 26.7.3 en 15.8.3 voor oudere Macs. Naast acht beveiligingsfixes sluiten ze een gat dat de eMudhra-certificaatcompromittering achterliet: sinds 19 oktober weigerden Safari, Mail en apps die de netwerk- en beveiligingsframeworks van Apple gebruiken al 12 slechte certificaten, maar opdrachtregeltools als curl, git, python3 en openssl lazen /etc/ssl/cert.pem en bleven ze accepteren. De updates verwijderen vijf rootcertificaten uit dat bestand, waaronder AAA Certificate Services. Gebruikt je app, installer of updatescript die tools, of levert hij een eigen lijst van vertrouwde roots mee, test dan je downloads en je eigen servers op de nieuwe versies.
De meeste Mac-updates installeer ik en vergeet ik weer. macOS 27.2.1, uitgebracht op 9 november, is er een waarvan ik het kleine lettertje zou lezen als ik een Mac-app maakte, want het verandert welke certificaten sommige tools op elke Mac vertrouwen. Apple bracht het uit met macOS Tahoe 26.7.3 en Sequoia 15.8.3 voor oudere Macs, en alle drie hebben dezelfde wijziging.
Dit is wat er gebeurde, wie het raakt en wat ik zou testen.
Wat er gebeurde
- Acht tussenliggende certificaatautoriteiten waren gecompromitteerd. Op de supportpagina van Apple over eMudhra staat dat de privésleutels van acht tussenliggende CA's van eMudhra gecompromitteerd zijn. Zes daarvan geven de certificaten uit die websites voor https gebruiken. Met die sleutels kon iemand een certificaat maken dat er geldig uitziet voor elke site. eMudhra en Sectigo hebben de getroffen certificaten ingetrokken.
- De sleutels waren piepklein. MacRumors meldt dat een onderzoek van Mozilla sleutelwaarden vond die zo klein waren dat ze triviaal te achterhalen waren. MacRumors zei in oktober ook dat er geen bewijs was dat de sleutels gebruikt zijn.
- Apple blokkeerde ze in oktober, maar niet overal. Vanaf 19 oktober blokkeerde Apple 12 van deze certificaten in Safari, Mail en apps die de netwerk- en beveiligingsframeworks van Apple gebruiken, zonder dat een update nodig was.
- De opdrachtregeltools waren het gat. De pagina van Apple noemt curl, git, python3, ruby, perl en openssl. Ze controleren certificaten aan de hand van het bestand
/etc/ssl/cert.pemen bij alles wat naar een root in dat bestand leidt, slaan ze de blokkade van Apple over. - 27.2.1 sluit het gat. De opdrachtregeltools accepteren deze certificaten niet meer, en vijf roots worden verwijderd uit
/etc/ssl/cert.pem: emSign ECC Root CA - G3, AAA Certificate Services, emSign Root CA - G1, emSign Root CA - C1 en emSign ECC Root CA - C3. Volgens de pagina van Apple bevatten 26.7.3 en 15.8.3 dezelfde bescherming.
Dezelfde updates verhelpen acht andere beveiligingsfouten, in Berichten, AirPlay en Bluetooth, volgens MacRumors. Apple zegt niet dat er een bij aanvallen is gebruikt.
Waarom een maker van Mac-apps hierom moet geven
Als je app een gewone Swift-app is die met URLSession met internet praat, was hij in oktober waarschijnlijk al gedekt. De pagina van Apple spreekt over apps die de netwerk- en beveiligingsframeworks van Apple gebruiken, en Howard Oakley, geciteerd door Michael Tsai, zegt dat apps die op de standaard-API's van Apple gebouwd zijn de trust store van macOS gebruiken.
De apps die niet gedekt waren, zijn die welke veel onafhankelijke makers uitbrengen:
- Apps die op de achtergrond curl, git of python3 draaien. Downloadhulpjes, installatiescripts, modeldownloaders voor lokale AI-apps, ontwikkeltools die git omwikkelen.
- Apps met hun eigen lijst van vertrouwde roots. Oakley noemt Chrome en andere Chromium-browsers, producten van Mozilla en Microsoft en sommige Electron-apps. Hij zegt ook dat Python, Java en Go, en mogelijk Rust of Ruby, geraakt kunnen zijn. Volgens de pagina van Apple gebruiken tools met een eigen rootlijst de blokkade van Apple of
/etc/ssl/cert.pemhelemaal niet.
Dus de oktoberfix heeft je app misschien niet bereikt, en de novemberfix mogelijk ook niet als hij eigen roots meebrengt.
Er is ook een andere kant. AAA Certificate Services is een oude Sectigo-root die veel gewone certificaten heeft ondertekend. Apple waarschuwt op de pagina dat tools die alleen /etc/ssl/cert.pem gebruiken sommige sites mogelijk niet kunnen verifiëren als hun keten via de verwijderde roots loopt. Is je downloadserver, updatefeed of licentie-API er zo een, dan kan curl op een geüpdatete Mac hem gaan weigeren.
Wat ik deze week zou checken
Dit zijn mijn eigen stappen, niet die van Apple.
- Update één Mac naar 27.2.1 en test downloads vanaf de opdrachtregel. Draai je installatiescript, je
brew installals je een cask hebt, encurl -Iop je download-, appcast- en licentieadressen. Een geweigerd certificaat verschijnt als fout, niet als trage pagina. - Bekijk de certificaatketen van je eigen site. Voer
openssl s_client -connect yourapp.com:443 -showcertsuit en lees de issuer-regels. Zie je eMudhra, emSign of AAA Certificate Services, vraag dan je host of certificaatverkoper om een keten die op een andere root eindigt. - Zoek uit welke trust store je app echt gebruikt. Electron, Go, Rust met meegeleverde roots, Python met certifi en Java brengen allemaal hun eigen mee. Update de runtime of het rootpakket naar een versie die de slechte certificaten weglaat, en vermeld het in je releasenotities.
- Houd een supportantwoord klaar. Als iemand met een oudere Mac geen updates kan installeren, staan op de pagina van Apple de stappen om de roots met de hand te verwijderen. Ik zou naar de pagina van Apple linken in plaats van commando's met sudo in een e-mail te plakken.
- Vertel mensen dat ze moeten updaten. Als de gebruikers van je app technisch aangelegd zijn, kost een korte notitie in je volgende release of nieuwsbrief niets.
- Controleer het bestand op een test-Mac. De pagina van Apple geeft het commando hieronder, dat niets toont zodra de twee belangrijkste roots weg zijn.
openssl crl2pkcs7 -nocrl -certfile /etc/ssl/cert.pem | openssl pkcs7 -print_certs -noout | grep -E 'emSign ECC Root CA - G3|AAA Certificate Services'
Wat ik niet zou doen
Ik zou certificaatcontroles in een script niet uitzetten om een fout te laten verdwijnen. Dat is precies waartegen deze hele wijziging beschermt. En ik zou gebruikers niet vertellen dat hun Mac is gehackt. Er is geen teken dat de sleutels gebruikt zijn en de meeste apps waren in oktober al beschermd.
De MacPip-invalshoek
MacPip controleert niet welke certificaten een app vertrouwt. Vermeldingen worden automatisch gescand als ze worden ingestuurd, en een blauwe vink betekent alleen dat iemand de app op een bepaalde datum heeft uitgeprobeerd. Maak je een ontwikkeltool of een beveiligings- en privacy-app, dan heb je de meeste kans op een script of meegeleverde runtime waar dit aan raakt, dus het is een uurtje waard.
Nieuw vandaag: de privacymanifest-checker. Plak je PrivacyInfo.xcprivacy en hij controleert elk datatype, elk doel en elke verplichte redencode, zoals CA92.1, tegen de eigen lijsten van Apple. Hij zegt ook wat Apple op de Mac vraagt en wat niet. Hij draait op de pagina en er wordt niets verstuurd. De Info.plist-uitleg en de notarisatie-uitleg staan er direct naast. En staat je Mac-app nog niet op MacPip, dan is aanmelden gratis.
Bronnen
- Apple Support: over de compromittering van de certificaatautoriteit eMudhra (gepubliceerd op 9 november 2026)
- Apple Support: Apple security releases
- MacRumors: macOS 27.2.1 Fixes eMudhra Certificate Flaw in Command-Line Tools
- MacRumors: Apple blocks compromised eMudhra certificates (25 oktober 2026)
- MacRumors: Here's What Apple Fixed in iOS 27.2.1 and macOS 27.2.1
- Michael Tsai: eMudhra Intermediate CA Compromise
Lees verder
- Claude Fable 5.2 and Mythos 5.2: what's new, the benchmarks, and what it means for your MacClaude Fable 5.2 and Mythos 5.2 came out on November 9, 2026. Anthropic's benchmarks as charts, the prices, what changes on a Mac, and four free tools.
- Live Activities komen naar de menubalk van de Mac. Dit zou ik doen met mijn Mac-appDe beta van macOS 27.3 zet Live Activities in de menubalk van Macs met Apple silicon, en Mac-apps kunnen er zelf een starten. Wat er veranderd is, de limieten en wat je als eerste kunt proberen.
- Geheugen maakt Macs duurder. Dit zou ik doen met mijn Mac-appApple zegt dat geheugen Macs tot in 2027 schaars en duurder houdt, en de goedkoopste Mac heeft 8 GB. Waarom dat uitmaakt voor je Mac-app, en de checks voor deze week.
- Apple laat je nu praten met mensen die opzeggen. Dit zou ik doen met mijn Mac-appSinds 4 november kunnen App Store-abonnementen een bericht of aanbod tonen als iemand opzegt. De regels, wat Apple zegt te doen en wat je op de Mac moet controleren.
- Apple voegt twee vragen over de leeftijdsclassificatie toe. Dit zou ik doen met mijn Mac-appVanaf 16 november vraagt App Store Connect naar gedeelde locatie en datingfuncties, en elke app moet uiterlijk 12 januari 2027 antwoord geven. Wat er verandert en wat je kunt doen.
- Siri AI staat nu open voor elke ontwikkelaar. Dit zou ik met mijn Mac-app doenApple heeft Siri AI voor alle ontwikkelaars geopend in de macOS 27.3-beta. Wat er veranderd is, wat je nu wel en niet kunt uitbrengen en een kort plan voor een kleine Mac-app.
- Macs met touchscreen verschijnen 6 november. Dit zou ik controleren in mijn Mac-appDe eerste touch-Macs van Apple komen 6 november. Wat er veranderd is, wat Apple ontwikkelaars vertelt te doen en een korte lijst om te testen in je eigen Mac-app.
- Kennismaking met MacPipWat MacPip is, waarom ik het heb gebouwd, hoe vermelden en lanceringsdag werken, wat een blauw vinkje echt betekent, en de echte cijfers uit de eerste dagen.
- Een Mac-app lanceren: een checklist die op één pagina pastWat je moet doen voor, op en na de lanceringsdag van een Mac-app: ondertekenen, je pagina, directory's, Product Hunt, Show HN en wat je moet meten.
- Hoe je een beschrijving van één regel schrijft die zegt wat je Mac-app doetEen eenvoudige manier om de ene regel onder de naam van je Mac-app te schrijven: noem de taak, haal de hype weg, en test hem op iemand die de app nog nooit heeft gezien.
- Ondertekenen en notariseren, in heldere taal, voor mensen die hun eerste Mac-app makenWat codeondertekening, notarisatie en stapling elk doen, in welke volgorde, wat je gebruikers zien zonder die stappen, en hoe je je eigen build controleert.
- Wat een dofollow-link eerlijk gezegd waard is, van een site die er één aanbiedtWat dofollow betekent, wat Google zegt over links, waarom een link van een nieuwe directory vandaag weinig waard is, en wat je kunt doen in plaats van links kopen.