Seit ein paar Tagen macht eine Meldung die Runde, wonach Google im Android-Browser für Jelly Bean und älter keine Sicherheitslücken mehr behebt und deshalb potentiell 930 Millionen Geräte betroffen sind. Auch wenn der Kern der Meldung stimmt, sind viele Details nicht ganz korrekt. Android User klärt auf.
„Google lässt mehr als 900 Millionen Android-Geräte ungepatched.“ „Google schmeißt eine Milliarde Android-Nutzer unter den Bus.“ So in etwa lautet die Kernaussage der Meldung, die zum Beispiel gestern bei zdnet.de aufgetaucht ist und ihren Ursprung in diesem Blogeintrag von Tod Beardsley hat.
Worum geht’s?
Seitdem es Chrome für Android gibt, pflegt Google zwei Browser. Den Standard-Browser von Android auf WebKit-Basis und Chrome für Android. Früher waren das komplett verschiedene Web-Engines, bei Android 4.4 wechselte Google im Standard-Browser von Android zu Chromium 30 als WebView-Komponente, sodass hier die Basis recht ähnlich war. Erst seit Lollipop ist die WebView-Engine komplett vom Browser getrennt, es ist aber immer noch eine separate Komponente, nicht die Chrome-Engine.
Doch WebView ist nicht nur die Browser-Engine von Android sondern dient auch allgemeinen WebApps als HTML-Renderer. Das macht das Problem erst zu einem solchen, denn sonst könnten die Nutzer ja einfach auf Chrome/Firefox/Opera/etc als Browser wechseln. Für eben diese WebView-Komponente akzeptiert nun Google angeblich keine Patches mehr, falls die WebView-Versionsnummer 4.3 oder kleiner beträgt.
Was stimmt an der Meldung nicht?
Der feine Unterschied liegt allerdings in der Interpretation, wie viele Geräte vom Sicherheitsleck betroffen sind und wem man den Schwarzen Peter zuschieben muss. Bei der Rechnung von 930 Millionen Geräten gehen die Schreiber von einem KitKat-Anteil von maximal 40 Prozent aus, wonach 60 Prozent aller Android-Geräte betroffen wären. Das stimmt so aber nicht, da viele Hersteller wie Samsung, LG, Sony etc. nicht die Standard-Variante des Android-Open-Source-Browsers und von WebView benutzen, sondern eigene Versionen pflegen und auch für entsprechende Updates sorgen. Das Problem betrifft also nur Android-Geräte, die mit einer Androidversion bis 4.3 ausgestattet sind und bei denen der Hersteller überhaupt keine Sicherheitsupdates mehr ausliefert und die AOSP-Version von WebView benutzt. Das dürfte immer noch eine ganze Menge sein, darüber sollte man sich im Klaren sein, aber keinesfalls eine knappe Milliarde.
Die zweite Fehlinterpretation betrifft die Schuldlage. Hier die komplette Antwort vom Google Support:
„If the affected version [of WebView] is before 4.4, we generally do not develop the patches ourselves, but welcome patches with the report for consideration. Other than notifying OEMs, we will not be able to take action on any report that is affecting versions before 4.4 that are not accompanied with a patch.“
Und auf Nachfrage:
„If the affected version [of WebView] is before 4.4, we generally do not develop the patches ourselves but do notify partners of the issue[…] If patches are provided with the report or put into AOSP we are happy to provide them to partners as well.“
Google stellt also für WebView vor Version 4.4 keine Patches mehr her, benachrichtigt aber die Hersteller bei älteren Versionen und liefert diese Patches auch an Partner aus, falls ein Patch/Report für das Android Open Source Projekt eingeht. Damit ist es also den Herstellern überlassen, die Browser-Komponente aktuell zu halten und genau das ist auch der richtige Weg, denn Android basiert auf freier Software und Google ist nur für seine eigenen Android-Versionen komplett verantwortlich, nicht für die Open-Source-Komponenten anderer Hersteller. Warum sollte Google einen veralteten WebView-Zweig pflegen, wenn man selbst diesen gar nicht mehr benötigt.
Man erinnere sich zum Beispiel an den Heartblead-Bug. Auch hier waren die Hersteller der Smartphones im Zugzwang, Patches für die betroffenen Komponenten auszuliefern, nicht Google und genauso verhält es sich auch mit Webview. Google dafür verantwortlich zu machen, ist also nicht ganz korrekt. Auch bei einem Bug im Kernel würde die Sachlage ähnlich aussehen. Google kann die Information nur an die Hersteller weitergeben und beim patchen helfen, dass der neue Kernel auch auf den Geräten mit älteren Android-Versionen landet, dafür sind nun mal die Hersteller zuständig.
Nutzer von Android 4.3 und älter sollten deshalb beim Hersteller nachfragen, ob es Sicherheitsupdates für den Browser/WebView gibt, nicht bei Google. Entwickler die auf WebView als HTML-Komponente setzen, können die targetSdkVersion auf „19“ setzen, damit die App nur mit der WebView-Komponente ab Android 4.4 kompatibel ist. Eine wirkliche Lösung ist das freilich nicht.