macOS 26.5 schließt zehn WebKit-Lücken – was jede einzelne einem Bromure-Nutzer angetan hätte
Apple hat am 11. Mai 2026 macOS Tahoe 26.5 veröffentlicht – mit rund siebzig Sicherheitskorrekturen, darunter zehn WebKit-Schwachstellen. Wir gehen die WebKit-Liste Schwachstellenklasse für Schwachstellenklasse durch und stellen die einzige Frage, die im Jahr 2026 zählt: Wohin reicht dieser Fehler eigentlich, auf einem Rechner, auf dem Bromure läuft?
Eine Patch-Notiz ist kein Bedrohungsmodell. „Die Verarbeitung bösartig präparierter Webinhalte kann zu einem unerwarteten Safari-Absturz führen" ist die höfliche Art des Herstellers, zu sagen, dass dieser Fehler für manche Nutzer das Letzte war, was der Browser tat, bevor etwas anderes ausgeführt wurde. Die nützliche Frage ist, was dieses Etwas berühren darf.
Am 11. Mai 2026 hat Apple About the security content of macOS Tahoe 26.5 veröffentlicht. Das Release schließt rund siebzig CVEs quer durch das Betriebssystem, zehn davon sitzen in WebKit – der Rendering-Engine von Safari, zugleich die Engine hinter jeder anderen „Web View" auf macOS, vom HTML-Renderer in Mail bis zum eingebetteten Browser im App Store. Keine der zehn ist von Apple als in freier Wildbahn ausgenutzt gekennzeichnet. Das ist nicht dasselbe wie zu sagen, sie seien nicht ausgenutzt worden – es heißt nur, dass Apple heute keine Hinweise darauf hat. Der Rest dieses Beitrags nimmt die Advisory beim Wort und stellt eine schärfere, nützlichere Frage: Was hätte jeder dieser Fehler einem Bromure-Nutzer angetan?
Die kurze Antwort steht im Titel. Die längere Antwort ist das, worüber die Architektur einen Beitrag wert ist.
Die Advisory, in klaren Worten
Eine Apple-Sicherheitsmeldung zu lesen ist auch eine Vokabelübung. Die kanonische Formulierung – „processing maliciously crafted web content may lead to" – deckt ein Spektrum ab, das von „ein Tab schließt sich" bis zu „der Rechner ist weg" reicht. Was die Fälle unterscheidet, ist die Fehlerklasse, und genau diesen Teil sagt die Advisory ebenfalls, nur leise.
Apple veröffentlicht aus grundsätzlichen Erwägungen keine Analysen zur Ausnutzbarkeit. Die Formulierung ist Absicht: Ein „Prozessabsturz" kann bedeuten, dass der Renderer auf eine Assertion läuft und harmlos stirbt – oder dass er in einen Zustand gerät, in dem ein Angreifer mit ein paar Wochen Arbeit und einem Heap-Grooming aus dem Absturz ein Schreib-Primitiv und daraus eine Codeausführung macht. Forscher in der Praxis haben wiederholt gezeigt, dass das zweite Ergebnis für einen großen Teil der in genau dieser Formulierung offengelegten WebKit-Use-after-frees erreichbar ist – CVE-2025-43529, im vergangenen Dezember in macOS 26.2 gepatcht, war im selben Wortlaut beschrieben und wurde zum Zeitpunkt der Offenlegung in gezielten Angriffen ausgenutzt. Die richtige Lesart dieser Advisory ist daher: eine Liste von Kandidaten für die nächste Runde der Ausnutzung in freier Wildbahn, nicht eine Liste von Fehlern, von denen wir wissen, dass sie harmlos sind.
Klasse eins – die fünf Use-after-frees
Ein Use-after-free ist, in einem Satz, ein Fehler, bei dem der Browser einen Speicherblock freigibt, der ein bestimmtes Objekt enthält – einen DOM-Knoten, einen Event-Listener, einen JavaScript-Wrapper – und die alte Referenz weiter benutzt, als wäre das Objekt noch am Leben. Bis die alte Referenz dereferenziert wird, ist der Speicherplatz von etwas anderem belegt: einem weiteren Objekt, das die Seite gerade angelegt hat, oder einem Puffer, den die Seite gerade mit Bytes gefüllt hat, die wie ein Funktionszeiger aussehen. Die Seite kontrolliert nun einen Zeiger, den der Browser als vertrauenswürdig behandelt.
CVE-2026-28883, CVE-2026-28942, CVE-2026-28946, CVE-2026-28947 sowie die UAF-Teilmenge des Clusters CVE-2026-28901 – CVE-2026-28913 sind die fünf WebKit-Use-after-frees in diesem Release. Apple schreibt sie einer Mischung aus unabhängigen Forschern zu und – in einem Fall (CVE-2026-28942) – Milad Nasr und Nicholas Carlini, die mit Claude arbeiten; dieselbe breitere Kategorie KI-gestützter Schwachstellenforschung, die Mozilla im April beschrieben hat, als einem frühen Mythos-Lauf 271 Korrekturen in einem einzigen Firefox-Release zugeschrieben wurden.
Auf einem Mac, auf dem unverändertes macOS 26.5 vor dem Einspielen dieses Updates läuft, sieht der Worst Case eines dieser Fehler so aus:
- Sie besuchen eine Seite. Die Seite führt JavaScript aus, das eine DOM-Operation so anstößt, dass das Use-after-free ausgelöst wird.
- Der Speicher des Renderers wird so präpariert, dass der freigegebene Slot mit etwas wiederbefüllt wird, was der Angreifer kontrolliert.
- Codeausführung landet im Safari-Content-Prozess – derselbe Adressraum wie Ihre Browsersitzung, Ihre Cookies, Ihre eingeloggten Tabs.
- Ein nachgelagerter Exploit, an den ersten gekettet, durchbricht die Content-Sandbox in den breiteren Safari-Prozess. Die Sandbox von WebKit ist solide, aber nicht unzerbrechlich; die letzten Jahre kennen mehrere dokumentierte Ausbrüche.
- Außerhalb der Sandbox läuft der Angreifer als Ihr
Benutzerkonto, auf Ihrem Rechner. Er hat Lesezugriff auf
~/Documents,~/Library/Keychains,~/.ssh, die Cookies im gespeicherten Profil von Safari, die Inhalte von iCloud Drive, die für die Offline-Nutzung heruntergezogen wurden, und alles andere, was in Ihrem Home-Verzeichnis lebt.
Das ist die vollständige Kette eines klassischen Browsers. Keiner der Schritte ist hypothetisch; jeder einzelne wurde in den letzten drei Jahren in einer realen, in freier Wildbahn beobachteten WebKit-Kette gesehen.
Ein Detail im rechten Diagramm gehört offen ausgesprochen: Bromure verwendet kein WebKit. Jeder Tab führt Chromium in seiner wegwerfbaren Linux-Gast-VM aus. Der buchstäbliche Text dieser CVEs – fünf WebKit-Use-after-frees – trifft also nicht auf die Rendering-Engine zu, die Bromure ausliefert. Eine Person, die mit Bromure unterwegs ist und macOS 26.5 nie eingespielt hat, ist diesen spezifischen WebKit-Fehlern über den Bromure-Tab, den sie geöffnet hat, nicht ausgesetzt.
Das ist für sich genommen keine interessante Aussage. Chrome hat seinen eigenen Katalog an Speicherfehlern. Firefox hat seinen eigenen. Der Punkt ist der zweiter Ordnung: Selbst wenn Sie diese CVEs gedanklich durch die entsprechende Klasse von Use-after-frees in Chromium V8 oder Blink ersetzen – CVE-2024-7971, die V8-Typverwechslung, die nordkoreanisch verbundene Akteure 2024 verwendeten, ist das naheliegende Pendant –, das Bild auf der rechten Seite ändert sich nicht. Der Exploit zündet im Renderer. Der Renderer steckt in der Gast-VM. Die Codeausführung landet in einer Linux-Box, die weder Ihren Keychain noch Ihren Documents-Ordner noch Ihre SSH-Schlüssel enthält. Wenn der Tab geschlossen wird, ist die VM vernichtet.
Klasse zwei – drei weitere Speicherfehler und ein Validierungsfehler
CVE-2026-43658 ist der einzige WebKit-Fehler in dieser Advisory, den Apple ausdrücklich als „memory handling" und nicht als Use-after-free kennzeichnet; die angegebene Auswirkung ist ein unerwarteter Safari-Absturz. CVE-2026-28917 ist als Eingabevalidierung gekennzeichnet und führt ebenfalls zu einem Prozessabsturz. Beide sitzen im selben groben Eimer wie die Use-after-frees – Abstürze im Adressraum von WebKit, ausgelöst durch eine feindselige Seite – und beide haben dieselbe realistische Obergrenze: Mit genug Arbeit lässt sich ein „Absturz" in manchen Fällen zu einem Primitiv für Codeausführung erheben, in anderen bleibt er tatsächlich nur ein Absturz. Apple sagt uns nicht, welcher Fall vorliegt, und die Patches entscheiden die Frage bei flüchtiger Lektüre auch nicht.
Worauf es ankommt: Für die Nutzerin ändert die Unterscheidung die architektonische Antwort nicht. Im unveränderten Safari ist selbst ein harmlos wirkender Absturzfehler in WebKit im schlimmsten Fall ein Fuß in der Tür. In Bromure ist selbst die Worst-Case-Variante eines dieser Fehler – volle Codeausführung im Renderer – ein Codeausführungs-Ereignis in einem Gast, der ohnehin weggeworfen wird.
Klasse drei – die fünf Logik- und Policy-Fehler
Fünf der zehn WebKit-Fehler in dieser Advisory sind überhaupt keine Speicherfehler. Es sind Logikfehler – kleine Unstimmigkeiten zwischen dem, was die Sicherheits-Policy von Safari erlaubt, und dem, was sein Code tatsächlich durchsetzt.
CVE-2026-43660 und CVE-2026-28907 – CSP-Umgehung
Content Security Policy ist der Mechanismus, mit dem eine Website dem Browser sagt: „Führe JavaScript nur aus diesen Quellen aus, lade Bilder nur aus jenen." Beide Fehler erlauben es einer bösartig präparierten Seite, Safari dazu zu bringen, die Durchsetzung dieser Policy auf einem Pfad durch den Parser zu überspringen. Reale Folge: Ein gespeichertes XSS auf einer Seite, die sich durch CSP geschützt wähnte, wird nun ausgeführt.
CVE-2026-28962 und CVE-2026-28958 – Informationsleck
Beide lassen eine feindselige Seite Daten lesen, auf die sie keinen Zugriff haben sollte. Der erste sitzt in der Zugriffskontroll-Logik von WebKit, der zweite in seinen Datenschutz-Pfaden. In einer Kette eingesetzt, sind das die Fehler, die aus „Ich habe Codeausführung in Ihrem Renderer" ein „Ich habe Ihr Sitzungs-Cookie für eine andere Seite, auf der Sie eingeloggt waren" machen.
CVE-2026-28971 – Download-Spoofing per iframe
Ein bösartiges iframe kann die Download-Einstellungen der Elternseite nutzen. An der Oberfläche ist das ein UI-Fehler; in der Praxis ist es der Weg, auf dem ein Drive-by-Download auf einer Seite reiten kann, der die Nutzerin ausdrücklich erlaubt hat, Dateien zu speichern. Ein Lehrbuch-Primitiv für den Erstzugriff von Schadsoftware.
Wofür die Logikfehler gut sind
Für sich allein gewähren keiner dieser Fehler eine Codeausführung. Ihr Wert ist strukturell: Jeder ist eine Sprosse, an der die oben genannten Speicherfehler hochklettern. Ein nacktes Use-after-free ist schwer zu waffenisieren ohne eine Möglichkeit, einen Zeiger zu leaken, CSP zu umgehen, Cross-Origin-Zustand zu lesen. Logikfehler im selben Release sind die leise Hälfte jeder öffentlich bekannten Exploit-Kette.
Dasselbe Argument gilt auf der Bromure-Seite, mit einer Klarstellung, die der Erwähnung wert ist. Der Download-Spoofing-Fehler (CVE-2026-28971) ist interessant, weil er der einzige Fehler in dieser Liste ist, der im unveränderten Safari eine Datei auf der Platte erzeugen kann, die die Nutzerin später öffnen könnte. Die Downloads aus einem Bromure-Tab landen standardmäßig in der Gast-VM dieses Tabs; sie aus dem Gast herauszuholen ist eine ausdrückliche Nutzerhandlung. Eine Drive-by-Datei, die die Seite „herunterzuladen" schafft, ist in Bromure eine Datei in einem Linux-Gast, der gleich aufhört zu existieren. Die Cross-Origin-Informationslecks (CVE-2026-28962, CVE-2026-28958) lesen Daten, die der Renderer sehen kann, was in Bromure die Daten sind, die in der VM dieses einen Tabs leben.
Was im Raum bleibt: Was die VM isoliert und was nicht
Es wäre zu einfach, von oben mit der falschen Botschaft wegzugehen. Die Architektur von Bromure ist gut darin, den Schadensradius einer Renderer-Kompromittierung einzugrenzen. Sie ist keine Magie. Mehrere Dinge stehen weiterhin im Raum und gehören klar benannt.
Die Sitzung selbst ist kompromittiert
Ein funktionierender Exploit auf einen dieser Fehler besitzt immer noch den Tab, in dem er zündet. Passwörter, die während des Exploit-Fensters in diesen Tab getippt werden, sind im Spiel. Cookies, die im Profil dieses Tabs gespeichert sind, sind im Spiel. Formulardaten sind im Spiel. Die Profiltrennung in Bromure sorgt dafür, dass der Schaden auf dieses Profil begrenzt bleibt, nicht auf das gesamte digitale Leben der Nutzerin – aber er ist nicht null.
Die Zwischenablage ist die offensichtliche Brücke
Die Standardeinstellung von Bromure lässt die Zwischenablage für den Gast verfügbar, weil für die meisten Menschen die Kosten dafür, das Kopieren und Einfügen täglich zu zerbrechen, schwerer wiegen als das seltene Exploit-Szenario. Diese Haltung ist eine bewusste Entscheidung und lässt sich für Sitzungen, die Sie hermetisch wollen, auf Wunsch durchtrennen. Es ist gut zu wissen, dass die Brücke existiert.
Ein Hypervisor-Ausbruch ist weiterhin möglich
Eine hinreichend entschlossene Kette könnte im Prinzip aus dem Apple-Silicon-Hypervisor selbst ausbrechen. Die Angriffsfläche dort ist um mehrere Größenordnungen kleiner als die eines Browsers, und die öffentliche Liste solcher Fehler ist kurz, aber nicht null. Wir behaupten keine Immunität; wir behaupten, die Fehlerklasse, von der Ihre Sicherheit abhängt, verschoben zu haben.
Keine Erweiterungen, keine Browser-Helper-Schicht
Bromure lässt Chrome-Erweiterungen überhaupt nicht zu. Das ist eine Haltung, keine Einstellung. Sie entfernt eine komplette zweite Angriffsfläche – jede Erweiterung ist ihr eigener quasi-vertrauenswürdiger Codepfad mit Berechtigungen, die parallel zum Renderer laufen –, die in der Vergangenheit der Weg war, auf dem viele reale Browser-Kompromittierungen überhaupt erst Persistenz erlangten.
Warum der Mac und der Browser getrennte Maschinen sein wollen
Es gibt eine allgemeinere Art, alles oben Gesagte zu formulieren. Ein moderner Mac enthält, Seite an Seite in derselben Vertrauensdomäne:
- Das Betriebssystem, mit Ihren Dateien und Ihrem Keychain.
- Native Apps, die Sie installiert haben, mit den Berechtigungen, die sie sich geholt haben.
- Den Browser, der mit weitem Abstand das größte Stück angreifergesteuerter Parsing-Maschinerie auf dem System ist.
Wenn ein WebKit-Fehler auf einem unveränderten macOS zündet, ist der Teil des Systems, der gerade kompromittiert wurde, derselbe Teil, der Lesezugriff auf die anderen beiden hat. Das ist kein Fehler von Safari; es ist die direkte Konsequenz daraus, einen Browser als Benutzeranwendung neben allem anderen zu betreiben, was die Nutzerin tut.
Bromure behandelt den Browser und den Rest des Macs in seinem Entwurf als unterschiedliche Maschinen. Der Browser läuft tatsächlich auf einer anderen Maschine – einem Linux-Gast, auf einer virtuellen CPU, mit virtueller Festplatte, die in jeder Sitzung zurückgesetzt wird. Der Host-Mac sieht den Gast nur durch ein schmales Set von Hypervisor-Aufrufen: Framebuffer, Eingabe, Netzwerk, Zwischenablage, wo erlaubt. Ein Fehler vom WebKit-Typ – oder sein Chromium-Äquivalent –, der im Gast landet, ist aus Sicht des Hosts Code, der auf einem anderen Computer läuft, in einem anderen Betriebssystem, ohne Pfad zu den Dateien der Nutzerin. Dass die beiden „Computer" sich ein Gehäuse teilen, ist ein Implementierungsdetail.
Was heute zu tun ist
Wenn Sie das auf dem Mac lesen, den Sie für alles andere verwenden, ist das Wichtigste das Langweilige: Spielen Sie das macOS-26.5-Update ein. Das Zeitfenster zwischen dem Erscheinen eines Patches bei Apple und dem Moment, in dem jemand den Patch in einen funktionierenden Exploit verwandelt, wird inzwischen nach den Messungen der Branche selbst in Stunden statt in Wochen gemessen. Nutzerinnen und Nutzer des unveränderten Safari sind mit eingespieltem Update gegen die zehn oben genannten WebKit-Fehler geschützt. Diejenigen ohne das Update sind es nicht.
Wenn Sie das auf Bromure lesen, sind Sie gegen Renderer-Fehler der WebKit-Klasse durch die Architektur geschützt und nicht durch die Patch-Annahme, weil der Renderer kein WebKit ist, nicht auf dem Host läuft und in einem Gast steckt, der beim Schließen des Tabs vernichtet wird. Trotzdem sollten Sie das macOS-26.5-Update einspielen, denn die etwa sechzig weiteren CVEs in diesem Release patchen Teile von macOS, die Bromure nicht isoliert – Kernel-Komponenten, Systemdienste, native Frameworks –, und die zählen weiterhin.
Die Einordnung, die wir uns von mehr Menschen wünschen würden, ist diese. WebKit-Zero-Days werden nicht aufhören. Chromium-Zero-Days werden nicht aufhören. Was für eine gegebene Nutzerin aufhören kann, ist die Verbindung zwischen „eine Seite war im Unrecht" und „Ihr Computer war im Unrecht". Genau diese Verbindung wurde Bromure gebaut, um sie zu zerschlagen, eine Zehn-CVE-Advisory nach der anderen.
Installieren Sie Bromure. Spielen Sie Ihre macOS-Updates weiter ein. Und wenn Apple das nächste Mal ein Safari-Update ausliefert, das sagt „processing maliciously crafted web content may lead to" – und das wird bald sein, denn die Kadenz ist jetzt monatlich –, lesen Sie die Zeile, legen Sie sie ab und beachten Sie, dass für den Teil Ihres Tages, den Sie in Bromure verbringen, der Satz nicht zu Ende geht.