macOS 27.2.1 sprawia, że curl przestaje ufać eMudhra. Co warto sprawdzić w swojej aplikacji na komputery Mac
Przez Justinasa Rolando, twórcę MacPip
W dniu 9 listopada 2026 Apple wydał macOS 27.2.1, a dla starszych komputerów Mac wersje 26.7.3 i 15.8.3. Oprócz ośmiu poprawek zabezpieczeń zamykają one lukę po kompromitacji certyfikatów eMudhra: od 19 października Safari, Mail i aplikacje korzystające z frameworków sieciowych i bezpieczeństwa Apple odrzucały już złe certyfikaty (liczba: 12), ale narzędzia wiersza poleceń, takie jak curl, git, python3 i openssl, czytały /etc/ssl/cert.pem i nadal je akceptowały. Aktualizacje usuwają z tego pliku pięć certyfikatów głównych, w tym AAA Certificate Services. Jeśli twoja aplikacja, instalator lub skrypt aktualizacji używa tych narzędzi albo dostarcza własną listę zaufanych certyfikatów głównych, przetestuj pobieranie i własne serwery na nowych wersjach.
Większość aktualizacji komputera Mac instaluję i zapominam. Ale macOS 27.2.1, wydany 9 listopada, warto przeczytać dokładnie, jeśli tworzysz aplikację na komputery Mac, bo zmienia, którym certyfikatom ufają niektóre narzędzia na każdym komputerze Mac. Apple wydał go razem z macOS Tahoe 26.7.3 i Sequoia 15.8.3 dla starszych komputerów Mac i wszystkie trzy mają tę samą zmianę.
Oto, co się stało, kogo to dotyczy i co warto przetestować.
Co się stało
- Przejęto osiem pośrednich urzędów certyfikacji. Strona pomocy Apple o eMudhra podaje, że klucze prywatne ośmiu pośrednich urzędów certyfikacji eMudhra zostały skompromitowane. Sześć z nich wystawia certyfikaty używane przez strony w https. Mając te klucze, ktoś mógłby stworzyć certyfikat, który wygląda na ważny dla dowolnej strony. eMudhra i Sectigo unieważniły dotknięte certyfikaty.
- Klucze były malutkie. MacRumors donosi, że śledztwo Mozilli wykazało wartości kluczy tak małe, że łatwo je było odzyskać. MacRumors również podał w październiku, że nie było dowodów na użycie tych kluczy.
- Apple zablokował je w październiku, ale nie wszędzie. Od 19 października Apple blokował część tych certyfikatów (liczba: 12) w Safari, Mailu i aplikacjach korzystających z sieciowych i zabezpieczających frameworków Apple, bez potrzeby aktualizacji.
- Luką były narzędzia wiersza poleceń. Strona Apple wymienia curl, git, python3, ruby, perl i openssl. Sprawdzają one certyfikaty względem pliku
/etc/ssl/cert.pemi dla wszystkiego, co łączy się z certyfikatem głównym z tego pliku, pomijają blokadę Apple. - 27.2.1 zamyka tę lukę. Narzędzia wiersza poleceń przestają akceptować te certyfikaty, a pięć certyfikatów głównych znika z
/etc/ssl/cert.pem: emSign ECC Root CA - G3, AAA Certificate Services, emSign Root CA - G1, emSign Root CA - C1 i emSign ECC Root CA - C3. Strona Apple podaje, że 26.7.3 i 15.8.3 zawierają tę samą ochronę.
Te same aktualizacje naprawiają osiem innych błędów zabezpieczeń w Wiadomościach, AirPlay i Bluetooth, według MacRumors. Apple nie podał, by któryś był wykorzystywany w atakach.
Dlaczego twórcę aplikacji na komputery Mac to powinno obchodzić
Jeśli twoja aplikacja to zwykła aplikacja napisana w Swift, która łączy się z internetem przez URLSession, najpewniej objęła ją październikowa poprawka. Strona Apple mówi o aplikacjach używających jej frameworków sieciowych i bezpieczeństwa, a Howard Oakley, cytowany przez Michaela Tsaia, mówi, że aplikacje oparte na standardowych API Apple używają magazynu zaufania macOS.
Nieobjęte aplikacje to te, które wydaje wielu niezależnych twórców:
- Aplikacje, które pod spodem uruchamiają curl, git lub python3. Pomocnicze programy do pobierania, skrypty instalacyjne, programy pobierające modele dla lokalnych aplikacji AI, narzędzia deweloperskie opakowujące git.
- Aplikacje z własną listą zaufanych certyfikatów głównych. Oakley wymienia Chrome i inne przeglądarki oparte na Chromium, produkty Mozilli i Microsoftu oraz niektóre aplikacje Electron. Mówi też, że mogą to dotyczyć Pythona, Javy i Go, a możliwe, że także Rusta lub Rubiego. Strona Apple podaje, że narzędzia z własną listą certyfikatów głównych w ogóle nie korzystają z jej blokady ani z
/etc/ssl/cert.pem.
Dlatego październikowa poprawka mogła nie dotrzeć do twojej aplikacji, a listopadowa też może nie, jeśli aplikacja ma własne certyfikaty główne.
Jest też druga strona. AAA Certificate Services to stary certyfikat główny Sectigo, którym podpisano mnóstwo zwykłych certyfikatów. Strona Apple ostrzega, że narzędzia używające tylko /etc/ssl/cert.pem mogą nie zweryfikować niektórych stron, których łańcuchy prowadzą przez usunięte certyfikaty główne. Jeśli twój serwer pobierania, kanał aktualizacji lub API licencji akurat do nich należy, curl na zaktualizowanym komputerze Mac może zacząć go odrzucać.
Co bym sprawdził w tym tygodniu
To moje własne kroki, nie Apple.
- Zaktualizuj jeden komputer Mac do 27.2.1 i przetestuj pobieranie z wiersza poleceń. Uruchom swój skrypt instalacyjny,
brew install, jeśli masz cask, orazcurl -Ina adresy pobierania, appcastu i licencji. Odrzucony certyfikat pojawia się jako błąd, a nie jako wolna strona. - Przyjrzyj się własnemu łańcuchowi certyfikatów. Uruchom
openssl s_client -connect yourapp.com:443 -showcertsi przeczytaj wiersze z wystawcą (issuer). Jeśli zobaczysz eMudhra, emSign lub AAA Certificate Services, poproś swojego dostawcę hostingu lub sprzedawcę certyfikatów o łańcuch kończący się na innym certyfikacie głównym. - Ustal, z jakiego magazynu zaufania naprawdę korzysta twoja aplikacja. Electron, Go, Rust z wbudowanymi certyfikatami głównymi, Python z certifi i Java mają własne. Zaktualizuj środowisko uruchomieniowe lub pakiet z certyfikatami do wersji, która usuwa złe certyfikaty, i wspomnij o tym w informacjach o wydaniu.
- Przygotuj odpowiedź dla wsparcia. Jeśli ktoś na starszym komputerze Mac nie może zainstalować aktualizacji, strona Apple ma kroki ręcznego usunięcia certyfikatów głównych. Lepiej podać link do strony Apple, niż wklejać do e-maila polecenia z sudo.
- Powiedz ludziom, żeby zaktualizowali. Jeśli użytkownicy twojej aplikacji są raczej techniczni, krótka notatka w następnym wydaniu lub newsletterze nic nie kosztuje.
- Sprawdź plik na testowym Macu. Strona Apple podaje poniższe polecenie, które nic nie wypisuje, gdy dwa kluczowe certyfikaty główne zostały usunięte.
openssl crl2pkcs7 -nocrl -certfile /etc/ssl/cert.pem | openssl pkcs7 -print_certs -noout | grep -E 'emSign ECC Root CA - G3|AAA Certificate Services'
Czego bym nie robił
Nie warto wyłączać sprawdzania certyfikatów w skrypcie, żeby pozbyć się błędu. To właśnie przed tym chroni cała ta zmiana. Nie warto też mówić użytkownikom, że ich komputer Mac został zhakowany. Nic nie wskazuje, że klucze użyto, a większość aplikacji była chroniona już w październiku.
Perspektywa MacPip
MacPip nie sprawdza, którym certyfikatom ufa aplikacja. Wpisy są skanowane automatycznie po zgłoszeniu, a niebieski ptaszek oznacza tylko, że osoba wypróbowała aplikację w danym dniu. Jeśli tworzysz narzędzie dla deweloperów lub aplikację do bezpieczeństwa i prywatności, to właśnie ty najpewniej masz skrypt lub dołączone środowisko, którego to dotyczy, więc warto poświęcić godzinę.
Nowość na dziś: weryfikator manifestu prywatności. Wklej swój PrivacyInfo.xcprivacy, a sprawdzi każdy typ danych, cel i wymagany kod powodu, taki jak CA92.1, na podstawie list Apple. Mówi też, czego Apple oczekuje na komputerze Mac, a czego nie. Działa na stronie i nic nie jest wysyłane. Objaśnienie Info.plist i objaśnienie notaryzacji są obok. A jeśli twojej aplikacji na komputery Mac nie ma jeszcze w MacPip, dodanie jej jest bezpłatne.
Źródła
- Pomoc Apple: informacje o kompromitacji urzędu certyfikacji eMudhra (opublikowano 9 listopada 2026)
- Pomoc Apple: wydania zabezpieczeń Apple
- MacRumors: macOS 27.2.1 naprawia lukę w certyfikatach eMudhra w narzędziach wiersza poleceń
- MacRumors: Apple blokuje skompromitowane certyfikaty eMudhra (25 października 2026)
- MacRumors: co Apple naprawił w iOS 27.2.1 i macOS 27.2.1
- Michael Tsai: kompromitacja pośredniego urzędu certyfikacji eMudhra
Czytaj dalej
- 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 pojawiają się na pasku menu komputera Mac. Co zrobiłbym w swojej aplikacjiBeta macOS 27.3 pokazuje Live Activities na pasku menu komputerów Mac z Apple silicon, a aplikacje na Mac mogą uruchamiać własne. Co się zmieniło, jakie są limity i co wypróbować najpierw.
- Pamięć podnosi ceny komputerów Mac. Oto, co zrobiłbym ze swoją aplikacją na komputery MacApple mówi, że przez pamięć komputerów Mac będzie brakować i będą droższe aż do 2027, a najtańszy Mac ma 8 GB. Dlaczego to ważne dla twojej aplikacji na komputery Mac i co sprawdzić w tym tygodniu.
- Apple pozwala teraz rozmawiać z osobami, które rezygnują. Oto co zrobiłbym w swojej aplikacji na MacOd 4 listopada subskrypcje w App Store mogą pokazać wiadomość lub ofertę, gdy ktoś rezygnuje. Zasady, co mówi Apple i co sprawdzić w wersji na Mac.
- Apple dodaje dwa pytania o ocenę wiekową. Oto co zrobiłbym w swojej aplikacji na komputery MacOd 16 listopada App Store Connect pyta o udostępnianie lokalizacji i funkcje randkowe, a każda aplikacja musi odpowiedzieć do 12 stycznia 2027. Co się zmieniło i co zrobić.
- Siri AI jest teraz otwarte dla każdego dewelopera. Oto co zrobiłbym ze swoją aplikacją MacApple otworzyło Siri AI dla wszystkich deweloperów w becie macOS 27.3. Co się zmieniło, co możesz już wydać, a czego jeszcze nie, i krótki plan dla małej aplikacji Mac.
- Komputery Mac z ekranem dotykowym trafiają do sprzedaży 6 listopada. Oto co sprawdziłbym w mojej aplikacji na MacPierwsze komputery Mac z ekranem dotykowym od Apple pojawiają się 6 listopada. Co się zmieniło, co Apple radzi deweloperom i krótka lista rzeczy do przetestowania w twojej aplikacji na Mac.
- Przedstawiamy MacPipCzym jest MacPip, dlaczego go zbudowałem, jak działa dodawanie wpisów i dzień premiery, co naprawdę oznacza niebieski znaczek i prawdziwe liczby z pierwszych dni.
- Jak wystartować aplikację na Mac: lista kontrolna na jedną stronęCo zrobić przed, w dniu i po premierze aplikacji na Mac: podpisanie, twoja strona, katalogi, Product Hunt, Show HN i co mierzyć.
- Jak napisać jednolinijkowy opis, który mówi, co robi twoja aplikacja na MacProsty sposób na napisanie jednej linijki pod nazwą aplikacji na Mac: nazwij zadanie, usuń przesadę i sprawdź na kimś, kto nigdy nie widział aplikacji.
- Podpisywanie i notaryzacja prostym językiem, dla osób robiących pierwszą aplikację na MacCo robią podpisywanie kodu, notaryzacja i stapling, w jakiej kolejności, co widzą użytkownicy bez nich i jak sprawdzić własną kompilację.
- Ile naprawdę jest warty link dofollow od strony, która go oferujeCo znaczy dofollow, co Google mówi o linkach, dlaczego link z nowego katalogu jest dziś mało wart i co robić zamiast kupować linki.