Android verrät die echte IP am VPN vorbei, und Google behebt es nicht

10.09.2026 8 Min. 4

Android hat einen Schalter namens "Verbindungen ohne VPN blockieren". Zusammen mit dem dauerhaft aktiven VPN verspricht das System damit, dass nichts das Gerät außerhalb des Tunnels verlässt. Zwei voneinander unabhängige Funde aus diesem Jahr zeigen, dass jede gewöhnliche App an diesem Schalter vorbeigeht und Ihre echte IP-Adresse einem selbst gewählten Server übergibt. Google hat beide Meldungen geschlossen, ohne etwas zu reparieren.

Kurz gefasst

  • Zwei unabhängige Umgehungen von zwei verschiedenen Forschern hebeln das dauerhafte VPN samt Sperre aus.
  • Keine davon braucht eine Berechtigung, die der Nutzer bestätigen muss. Internetzugriff genügt, und der wird automatisch erteilt.
  • Der Kniff ist in beiden Fällen derselbe: einen Systemprozess dazu bringen, das Paket für einen zu senden. Für Systemprozesse gelten die Sperrregeln nicht.
  • Google markierte die eine Meldung als "Won't Fix (Infeasible)" und schloss die andere ohne Maßnahme. GrapheneOS hat die erste behoben und kündigt die zweite an.

Was der Schalter garantieren soll

Kommt unter Android ein VPN hoch, schreibt das System seine Routing-Regeln so um, dass erfasste Apps das Netz nur noch durch den Tunnel erreichen. Jeder Socket trägt eine Markierung, an der der Kernel erkennt, zu welchem Netz er gehört, und versucht eine App, einen Socket direkt an die physische WLAN-Schnittstelle zu binden, scheitert die Prüfung und der Aufruf liefert einen Rechtefehler. Das ist die Mechanik hinter der Einstellung, und sie funktioniert.

Sie funktioniert für Apps. Sockets von Systemkomponenten liegen unterhalb einer Schwelle namens FIRST_APPLICATION_UID und gelten als System, dürfen also jedes Netz erreichen, egal was ein VPN im Nutzerraum gerade tut. Das System muss unter allen Umständen mit dem Netz sprechen können, für sich genommen ist die Ausnahme also vernünftig. Zum Problem wird sie in dem Moment, in dem eine gewöhnliche App einen Systemprozess überreden kann, ein Paket an ihrer Stelle zu senden.

Leck eins: der höfliche Abschied

Android 16 bekam eine Funktion für das saubere Beenden von QUIC-Verbindungen. Stirbt der Socket einer App unerwartet, bleibt der Server am anderen Ende bis zum Timeout auf einer halboffenen Verbindung sitzen, also lässt das System jetzt ein Abschiedspaket vorab registrieren, das es stellvertretend zustellt. Der Forscher, der die Lücke fand und unter dem Namen lowlevel publiziert, taufte das Ergebnis die kleine UDP-Kanone.

  1. Die App ruft eine Methode des Netzwerkdienstes auf und übergibt ihr einen UDP-Socket samt beliebigem Byte-Block. Eine Rechteprüfung gibt es an dieser Stelle nicht, weder in der Methode noch in der Schnittstellenbeschreibung noch in der Sicherheitsrichtlinie.
  2. Das System merkt sich den Aufrufer, das Netz sowie Quell- und Zieladresse des Sockets.
  3. Die App beendet sich. Der Kernel meldet den Socket als zerstört.
  4. Der Systemprozess öffnet einen frischen Socket im physischen WLAN, verbindet ihn mit dem gemerkten Ziel und sendet die gemerkten Bytes. Das VPN sieht das Paket nie, das Ziel sieht die echte Adresse des Geräts.

Der Forscher meldete den Fund über Androids Bug-Bounty-Programm. Die Meldung wurde als Won't Fix (Infeasible) geschlossen, mit der Begründung, das liege außerhalb des Bedrohungsmodells. Mullvad, das sonst nicht über fremde Fehler schreibt, warnte im Mai und reichte den Fall erneut über den öffentlichen Tracker ein; der Eintrag wurde daraufhin ohne Erklärung als nicht zugänglich markiert. GrapheneOS lieferte einen Fix, der die Optimierung abschaltet.

Für dieses Leck gibt es eine Gegenmaßnahme, und sie ist unbequem: Bei aktiviertem USB-Debugging schaltet der Befehl adb shell device_config put tethering close_quic_connection -1 das saubere QUIC-Beenden ab und schließt die Lücke. Er übersteht einen Neustart, kann aber von einem Systemupdate rückgängig gemacht werden und muss dann erneut gesetzt werden. Der Preis: QUIC-Sockets auf der Gegenseite bleiben bis zum Timeout halboffen.

Leck zwei: das Keepalive sendet der WLAN-Chip für Sie

Der zweite Fund, am 29. Juli von Armin Šupuk veröffentlicht und am 10. September von Mullvad aufbereitet, nimmt eine andere Tür in denselben Raum. Android bietet eine öffentliche Schnittstelle, um eine NAT-Zuordnung am Leben zu halten: Eine App bittet das System, ein kleines UDP-Paket periodisch zu senden, damit eine Verbindung über den Heimrouter nicht abreißt. Aus Effizienzgründen wandert die Aufgabe hinunter zum WLAN- oder Mobilfunkchip, der die Pakete selbst abfeuert.

Das Framework nimmt die Anfrage an, ohne zu prüfen, ob der Aufrufer die referenzierte Ressource überhaupt besitzt, und ohne zu fragen, ob für ihn die VPN-Sperre gilt. Anschließend entsteht das Keepalive in der Netzwerkhardware, unterhalb der Ebene, auf der die VPN-Regeln greifen. Pakete festen Formats auf UDP-Port 4500 landen bei der Adresse, die die App gewählt hat, und tragen die echte IP.

10 sAbstand zwischen den austretenden Paketen, das Minimum der Plattform
24 h 32 mlängstes durchgehend gemessenes Leck auf einem Testgerät
3bestätigte Hersteller: Google, Samsung, Nothing
91%der Android-Auslieferungen entfallen laut Arbeit auf die betroffenen WLAN-Firmwarefamilien

Die Arbeit führt den Fehler auf ein Vertrauensmodell zurück, das über die Jahre auseinanderfiel. Der Aufruf begann als privilegierte Schnittstelle mit rohem Dateideskriptor, bekam einen öffentlichen Einstiegspunkt, dann eine Ressourcenprüfung, und verlor diese bei einem Revert wieder. Was blieb, lässt die Anfrage durch, ohne einen Besitznachweis zu verlangen.

Die eigene Notiz des Melders im GrapheneOS-Tracker fällt schmaler aus als die Überschrift der Arbeit: Auf Pixel-Geräten funktioniert es über WLAN und größtenteils nicht über IPv6. Dafür ist es hartnäckig. Das Leck läuft im Hintergrund weiter, im Sperrbildschirm, im Doze-Modus, im Energiesparmodus und unter dem Prozess-Freezer, und es übersteht das erzwungene Beenden der App.

Was tatsächlich nach draußen geht

Nicht Ihre Nachrichten. Beide Lecks sind schmale Kanäle: Die App bestimmt, wohin das Paket geht, und im QUIC-Fall zusätzlich, was in ein paar Bytes davon steht. Die Gegenseite erfährt, dass ein bestimmtes Gerät mit einer bestimmten öffentlichen IP-Adresse existiert und gerade online ist. Für eine App, die ohnehin weiß, wer Sie sind, ist das das fehlende Glied zwischen Konto und Aufenthaltsort, und genau das sollte das VPN verhindern.

Warum sich das wiederholt

Beide Lecks stammen aus derselben Entwurfsentscheidung: Komfortfunktionen, die einen Systemprozess im Auftrag einer App handeln lassen, geschrieben ohne die Frage, ob diese App in diesem Moment überhaupt direkt ins Netz darf. Die Sperrprüfung filtert App-Identitäten, alles unter einer Systemidentität liegt außerhalb ihrer Reichweite.

Und es bleibt nicht bei zweien. In der Diskussion bei GrapheneOS merkte ein Betreuer an, das Projekt habe mindestens zehn weitere Lecks selbst gefunden und behoben, und Lecks, die ohne bösen Willen einer App auftreten, hätten Vorrang vor diesen beiden. Derselbe Betreuer wurde bei den Anreizen deutlich: Google zahlt für VPN-Lecks nicht, und Meldungen lohnen sich fürs Protokoll, nicht in Erwartung eines Patches.

Was Sie tun können

Sinnvoll

  • App-Installationen als die eigentliche Kontrolle begreifen. Beide Angriffe setzen eine bereits installierte, feindliche App voraus, und keiner fragt Sie um etwas.
  • Wenn der Tunnel der Sicherheit dient und nicht dem Komfort: ein Android nutzen, das genau das behebt, etwa GrapheneOS.
  • Den ADB-Befehl von oben anwenden, wenn Sie wissen, was Sie tun, und ihn nach Systemupdates wiederholen.
  • Im Kopf behalten, dass das zweite Leck auf der getesteten Hardware am WLAN hängt. Über Mobilfunk ist das Bild bislang uneinheitlicher.

Hilft nicht

  • Den VPN-Anbieter wechseln. Unter Android sind alle VPN-Apps gleichermaßen betroffen, weil der Ausbruch unterhalb von ihnen passiert.
  • "Verbindungen ohne VPN blockieren" einschalten. Genau diese Einstellung wird umgangen.
  • Auf einen Patch von Google warten. Beide Meldungen sind geschlossen.
  • Ein Not-Aus in der VPN-App. Sie sieht Pakete des Systems oder des WLAN-Chips nicht und kann sie nicht stoppen.

Was das für die VPN-Wahl bedeutet

Hier lohnt Genauigkeit bei der Schuldfrage, denn die Werbung dazu wird nicht genau sein. Kein VPN-Dienst kann eines der beiden Lecks beheben, und keiner hat sie verursacht: Die Pakete erreichen die Anwendungsebene, auf der ein VPN-Client arbeitet, nie. Woran sich ein Anbieter hier fair messen lässt, ist die Frage, ob er seine Nutzer überhaupt informiert hat. Wenn Sie eine App fürs Telefon aussuchen, behandelt unser Überblick zu VPNs für Android das, was die App selbst steuert, also alles oberhalb dieser Ebene.

Betrifft das auch iPhones?
Nein. Beide Funde betreffen den Netzwerk-Stack von Android und Schnittstellen, die Android an Apps herausgibt. Über iOS sagen sie nichts aus.
Welche Android-Versionen?
Das QUIC-Leck kam mit der Funktion in Android 16 QPR1. Das Keepalive-Leck läuft über einen seit Android 12 gemeinsamen Framework-Pfad, und die Arbeit argumentiert, dass die meisten Geräte ab Android 12 betroffen sind.
Kann ich merken, dass eine App das tut?
Vom Telefon aus nicht. Die Pakete stammen vom System oder von der Netzwerkhardware und tauchen deshalb in den App-Verbrauchszählern nicht auf. Im eigenen Netz sieht man sie in einer Aufzeichnung am Router als periodisches UDP an Port 4500 von der echten Adresse des Telefons.
Ist mein VPN-Anbieter schuld?
Nein. Der Verkehr geht unterhalb der Ebene raus, die eine VPN-App kontrolliert. Mullvad hat eine Notlösung erwogen, die alle Keepalive-Slots der Hardware belegt, und sie verworfen: Sie würde bedeuten, selbst Pakete am Tunnel vorbeizuschicken, und den Wettlauf gegen eine feindliche App nicht zuverlässig gewinnen.
Sollte ich unter Android auf ein VPN verzichten?
Nein. Der Tunnel transportiert weiterhin Ihren echten Verkehr und verbirgt ihn weiterhin vor dem Netz, in dem Sie sich befinden. Er garantiert nur nicht mehr, dass eine bewusst feindliche App Ihre Adresse nicht auf einem eigenen Weg preisgibt.

androidgooglevpnprivacysecuritymullvadgrapheneosip leakcybersecuritytracking

Auch lesenswert