Google behebt den albtraumhaften Android-Fehler, der Benutzer daran hinderte, den Notdienst anzurufen

Google behebt den albtraumhaften Android-Fehler, der Benutzer daran hinderte, den Notdienst anzurufen

Der Android-Sicherheitspatch für Januar wurde jetzt veröffentlicht und behebt einen der ärgerlichsten Android-Fehler, der seit einiger Zeit auftreten kann: Bestimmte Apps können Sie daran hindern, 911 oder andere Notrufnummern auf der ganzen Welt zu kontaktieren.

Anfang Dezember tauchte in einem GooglePixel-Subreddit eine erschütternde Geschichte von einem Nutzer auf, dessen Pixel 3 abstürzte, als er es am meisten brauchte: als er die Notrufnummer 911 für seine Großmutter wählte, die „aussah, als hätte sie einen Schlaganfall gehabt“. Das gesamte Telefon-Subsystem stürzte ab Unmittelbar nachdem er den Notdienst angerufen hatte, sagte der Benutzer KitchenPicture5849, er könne keinen Anruf erhalten, um eine Verbindung herzustellen, oder auflegen, um den Anruf zu wiederholen. Glücklicherweise war ein Festnetzanschluss in der Nähe verfügbar, nachdem ihr Android-Telefon kaputt gegangen war und der Rettungsdienst kontaktiert wurde.

Nachdem die Krise beendet war, rief der Benutzer erneut die Notrufnummer von seinem Smartphone an und Android stürzte erneut ab, was darauf hindeutet, dass es sich nicht um einen einmaligen Fehler handelte. Die Überprüfung ihrer Telefonrechnung ergab außerdem, dass KitchenPicture5849 nie tatsächlich eine Verbindung zum 911-Dienst hergestellt hatte. Sie sagen, dass sie auch mehrere andere private Nachrichten von Benutzern erhalten haben, die angaben, dass bei ihnen derselbe Fehler aufgetreten sei.

Google kontaktierte den Nutzer und antwortete am 8. Dezember öffentlich auf die Nachricht:

Basierend auf unserer Recherche konnten wir das Problem unter einer begrenzten Anzahl von Umständen reproduzieren. Wir glauben, dass das Problem nur auf einer kleinen Anzahl von Geräten auftritt, auf denen die Microsoft Teams-App installiert ist, wenn der Benutzer nicht angemeldet ist, und uns ist derzeit nur ein Benutzerbericht über das Auftreten dieses Fehlers bekannt. Wir haben festgestellt, dass das Problem durch eine unbeabsichtigte Interaktion zwischen der Microsoft Teams-App und dem zugrunde liegenden Android-Betriebssystem verursacht wurde. Microsoft arbeitet eng mit Google zusammen, um diese unbeabsichtigte Interaktion zu beheben.

Google sagte, dass Microsoft so schnell wie möglich ein Update für die App veröffentlichen wird und dass Benutzer im Play Store nach Updates suchen sollten. Das Unternehmen erwähnte auch, dass der Patch auf Betriebssystemebene einen Monat später, Anfang Januar (das ist heute) veröffentlicht wird. Google gab zu diesem Zeitpunkt keinen weiteren Kommentar zu der Angelegenheit ab.

Warum Apps den 911-Dienst stören können

Verzögerung. Microsoft Teams hat den 911-Dienst unterbrochen? Können zufällige Android-Apps den Rettungsdienst stören? Wie? Warum sollten Drittanbieter-Apps Tausende von Metern von einer so wichtigen Funktion entfernt sein? Unterbrechen andere Apps den 911-Dienst oder nur Microsoft Teams? Während Teams behoben wurde, war es in Ordnung, Android-Benutzer einen Monat lang mit diesem Fehler auf Betriebssystemebene herumhängen zu lassen, insbesondere wenn wir nicht wissen, ob andere Apps das Problem haben? Android ist Android, daher werden viele Telefone sowieso nie repariert. Wie können Benutzer wissen, dass Notdienste ausgeführt werden? Außer, dass Google keine anderen Antworten gegeben hat, als einen Monat auf eine Lösung zu warten.

Glücklicherweise konnten einige sehr kluge Leute in der Android-Community Antworten geben, die Google nicht teilte. Mishaal Rahman, leitender technischer Redakteur bei Esper, hat auf Medium einen unglaublichen Beitrag geschrieben , in dem er detailliert beschreibt, wie der Fehler funktioniert und warum er auftritt. Android-Apps mit Telefonanruffunktion können beim System einen „PhoneAccount“ registrieren, der anzeigt, dass sie Anrufe tätigen können. Es gibt mehrere Apps, die mit PhoneAccount installiert werden können, darunter eine mit dem Namen „CAPABILITY_PLACE_EMERGENCY_CALLS“. Wenn es an der Zeit ist, 911 anzurufen, durchsucht Android die Liste der registrierten Telefonkonten und wählt eines aus. So weit, ist es gut.

Einer der mehreren in Rahmans Beitrag identifizierten Fehler besteht darin, dass Microsoft Teams bei jedem Start von Teams einen zusätzlichen PhoneAccount im System registriert, sofern Sie nicht angemeldet sind. Beachten Sie, dass es nicht ungewöhnlich ist, Microsoft Teams zu installieren und es dann nie zu verwenden – a Eine häufige Beschwerde über die Android-Teams-App ist, dass Benutzer häufig automatisch abgemeldet werden.

Wenn Sie abgemeldet sind, wird Ihr Telefon durch zehnmaliges Ausführen von Microsoft Teams mit 10 doppelten Telefonkonten von Teams übersät. Teams sollten dies nicht tun, und das Microsoft-Update hat Teams daran gehindert, dies zu tun, aber viele doppelte PhoneAccounts sollten auch nicht ausreichen, um das Android-Telefonsystem in die Knie zu zwingen.

Nächster Fehler: Bei der Auswahl eines Telefonkontos für einen Notruf durchläuft Android einen komplexen Sortierprozess, um zu bestimmen, welches Konto verwendet werden soll. Der letzte Schritt in diesem Sortierprozess, der Konfliktlöser, ist die Hashcode-Sortierung. Der Hashcode-Vergleich subtrahiert einfach einen Hashcode von einem anderen.

Aber genau wie dieser dumme Microsoft Exchange 2000-Fehler, der neulich aufgetreten ist, könnte dies zu einem Ganzzahlüberlauf oder -unterlauf führen, und jetzt stürzt das Telefonsubsystem ab. Der Code von Google ist fehlerhaft, aber da dies die letzte Möglichkeit ist, Sortierprobleme zu lösen, nachdem offensichtlichere Dinge wie der Paketname ausprobiert wurden, sollte er nur für eine ganz bestimmte Instanz der Anwendung aufgerufen werden, die doppelte PhoneAccounts generiert. Vielen Dank also, Microsoft!

Googles Lösung für diesen Fehler finden Sie hier mit dem Titel „Ganzzahlüberlauf/-unterlauf beheben, der durch das Sortieren eines doppelten Telefonkontos während eines Notrufs verursacht wird.“ Anstatt einen Hashcode von einem anderen zu subtrahieren und möglicherweise mit einer wirklich großen oder sehr kleinen Zahl zu arbeiten, die das System zum Absturz bringt, verarbeitet Google die beiden Zahlen jetzt über die Java-Funktion „Integer.compare“. Dies gibt nur -1, 0 oder 1 zurück, was auf ein kleineres, identisches oder größeres Ergebnis des Vergleichs hinweist.

Wenn Sie sich zunächst wie ich fragen, warum Android Telefonkonten überhaupt sortiert und nicht nur das Standardkonto auf der SIM-Karte verwendet, stelle ich eine verrückte Vermutung an und sage, es war ein Versuch, den 911-Dienst trotzdem zum Laufen zu bringen. Welche. Für den Fall, dass das Hauptkonto nicht funktioniert, benötigt Android eine Liste aller möglichen Telefonkonten, die es ausprobieren kann, und möchte dies automatisch tun, um mit allen erforderlichen Mitteln eine Verbindung zur Notrufnummer 911 herzustellen. Dieses Triage-System dient nur der Kontaktaufnahme mit Rettungsdiensten, sodass für betroffene Benutzer weiterhin normale Telefonanrufe möglich sind.

Der dritte Fehler in diesem Schlamassel besteht darin, dass sich Microsoft Teams nicht einmal als Notrufabwickler registriert. Die Teams haben eine Million Telefonkonten erstellt, und das Flag CAPABILITY_PLACE_EMERGENCY_CALLS wurde nicht verwendet, aber es wurde trotzdem die Notrufnummer 911 gebrochen. Der Sortierprozess von Google beginnt damit, nach allen Telefonkonten zu fragen, während der beste erste Schritt darin besteht, mit allen Telefonkonten zu beginnen, die Notrufe unterstützen Anrufe.

Google trifft vor diesem jüngsten Fehler eine noch drastischere Entscheidung und entfernt jedes „selbstverwaltete“ Telefonkonto aus dem 911-Notrufverfahren. „Selbstverwaltete“ Android-Telefonkonten wie Microsoft Teams erhalten einen direkteren Zugriff auf den Android-Telefonie-Stack und können eigene Funktionen nutzen. Das Android-Notrufsystem berücksichtigt jetzt nur einfachere Telefonanbieter, die eine Verbindung zur Standard-Telefon-App herstellen, z. B. Ihr Mobilfunkanbieterkonto.

Alle diese anderen VoIP-Anwendungen können wahrscheinlich weiterhin verwendet werden, um selbst 911 anzurufen (in vielen Ländern ist die 911- Funktion gesetzlich vorgeschrieben ). Wenn Sie jedoch den Standard-Wähler öffnen und 911 drücken, wählt Android nur aus standardmäßigen, vom System verwalteten Telefonkonten aus.

Wer repariert wird und wie Sie nach einem 911-Servicefehler suchen können

Laut Rahman handelt es sich bei Googles Fehler dafür um CVE-2021-39659, den das monatliche Sicherheitsbulletin als hochschwere Denial-of-Service-Schwachstelle mit Patches für Geräte mit Android 10, 11 und 12 einstuft. In der Android-Codebasis ist Google Tatsächlich handelt es sich bei diesem Fix um eine vollständige Rückportierung auf Android 8.0, das technisch nicht mehr unterstützt wird. Dies ist größtenteils rein theoretisch, da keine Anbieter tatsächlich Sicherheitsupdates auf solche älteren Geräte übertragen. Aber der Code ist da, falls ihn jemand braucht.

Der Android-Telefonie-Stack ist (noch?) kein leicht aktualisierbares Project Mainline-Modul, daher ist die einzige Möglichkeit, eine Lösung zu finden, das monatliche Android-Sicherheitsupdate vom Januar 2022. Samsung sollte ab dieser Woche jedes Telefon auf dieser Liste aktualisieren , während Google Korrekturen für Pixel 3a, 4, 4a, 5 und 5a veröffentlicht. Update: Auch für das außer Betrieb befindliche Pixel 3 wird ein Notruf-Update erwartet .

Für das Pixel 6 kommt das Update noch nicht. Googles neuestes Flaggschiff steckt derzeit in einer Update-Krise. Das Update vom Dezember 2021 wurde aufgrund von nicht mobilen Verbindungsproblemen (Telefonanrufe funktionierten nicht) abgebrochen . Da Google Schwierigkeiten hat, die Probleme zu beheben, sollte das nächste Pixel 6-Update mit diesem 911-Fix „Ende Januar“ erfolgen. In der Zwischenzeit ist es in Ordnung, den November-Patch zu verwenden. Beide Google-Charts: „Anfang Januar“ und „Ende Januar“ scheinen aufgrund eines Fehlers, der zum buchstäblichen Tod von Nutzern führen kann, unglaublich langsam zu sein.

Ich mache noch eine verrückte Vermutung und sage, dass das Pixel 6 ein seltsames Telefon ist, weil es ein völlig anderes SoC und Modem ist (beide stammen von Samsungs Exynos-Abteilung und alle anderen Pixel verwenden Qualcomm). Durch die Schaffung einer Weihnachtsgeschäftssaison hat Google im Falle von Startverzögerungen keinen Handlungsspielraum gelassen. Das macht es für ein Telefon mit großen Vorteilen beim ersten Mal nicht weniger enttäuschend, aber hoffentlich handelt es sich um ein vorübergehendes Problem.

Ich bin überrascht, dass es sich hier nur um einen „schweren“ (statt „kritischen“) Fehler handelt und dass die Bereitstellung ein bis zwei Monate dauert. Die Verzögerung eines Krankenwagens kann tödlich sein. Daher wäre es schön, wenn alles schneller käme, und nicht so, wie Google dieses Problem löst.

Bisher haben wir nur davon gehört, dass Microsoft Teams diesen Fehler durch doppelte Telefonkonten auslöst, es ist jedoch nicht bekannt, ob andere Apps einen ähnlichen Fehler machen. Wenn Sie eine App in dieser Liste sehen, die viele doppelte Konten generiert, ist die Wahrscheinlichkeit hoch, dass Sie dadurch keine Verbindung zu den Notdiensten herstellen können. Ich empfehle, die App zu deinstallieren, den Entwickler zu kontaktieren und andere auf Twitter oder wo auch immer darüber zu informieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert