
CVE-2026-82090 · CVSS 9.2 KRITISCH · 0-Klick-Stored-XSS in Mozilla Pocket — alle Versionen (v0 → v8.33.0.0) · 18-Jahre-Forever-Day · kein Patch · MITRE veröffentlicht
Autor: Ing. Zampier Zago (FUNFACTOR1) Abteilung: Sektion 1 — Abteilung für Cybersicherheit, PS 1978 Limited Kontakt: [email protected] Web: www.ps1978ltd.it Klassifizierung: Analyse von Sicherheitslücken — CVE-2026-82090
Haftungsausschluss für Dual-Use-Inhalte: Dieses Repository enthält eine Schwachstellenanalyse und einen Proof of Concept (PoC) für ein End-of-Life-Produkt (EOL). Die bereitgestellten Informationen und der Code dienen ausschließlich Bildungszwecken, der defensiven Analyse und der offiziellen CVE-Dokumentation. Der Autor übernimmt keine Verantwortung für jeglichen Missbrauch dieser Informationen.
https://github.com/user-attachments/assets/e2b0aa46-df64-452b-afbf-fa31dd8c650d
Eine DOM-basierte Cross-Site-Scripting-Schwachstelle (XSS) wurde in Pocket Android Version 8.33.0.0 (Paket com.ideashower.readitlater.pro) bestätigt, der letzten von Mozilla / Read It Later, Inc. veröffentlichten Version vor der Einstellung des Dienstes im Juli 2025. Die Schwachstelle ermöglicht es einem Angreifer, beliebiges JavaScript in der WebView der Anwendung einzuschleusen und auszuführen, ohne dass eine Benutzerinteraktion über eine einzige „Save to Pocket"-Aktion hinaus erforderlich ist — ein 0-Click-Exploit nach der Zustellung.
Die Ursache liegt in der nicht bereinigten Einschleusung extern bezogener HTML-Inhalte direkt in das DOM über die .html()-Methode von jQuery ($(document.body).html(content)) in der in den Assets gebündelten Datei assets/html/j/articleview-mobile.js (Zeilen 95–99). Der Inhalt wird automatisch im Hintergrund durch com.pocket.sdk.offline.DownloadingService abgerufen und gerendert, ohne dass eine Benutzerinteraktion erforderlich ist.
Die Anwendung stellt außerdem eine native Java-zu-JavaScript-Bridge (PocketAndroidArticleInterface) bereit, die über addJavascriptInterface registriert und in classes2.dex bestätigt wurde und von JavaScript, das innerhalb der WebView ausgeführt wird, aufgerufen werden kann.
Offenlegungsprotokoll gegenüber dem Hersteller: Die XSS-Schwachstelle wurde am 2024-07-10 formell an Mozilla Security gemeldet, mit CWE-79-Klassifizierung und vollständigen technischen Details. Mozilla bestätigte den Eingang am 2024-07-11 und lehnte eine Behebung ausdrücklich ab, indem Pocket für nicht zuständig erklärt wurde. Mozilla veröffentlichte anschließend v8.33.0.0 im Jahr 2025 mit vollständig unverändertem verwundbarem Code. Die forensische Analyse von v8.33.0.0 bestätigt den identischen verwundbaren Aufruf in den Zeilen 95–99 von articleview-mobile.js.
Abstammung: Dieselbe identische Zeile — $(document.body).html(content), in einer Datei desselben Namens articleview-mobile.js — ist im iOS-Gegenstück-Bundle ReadItLaterPro.app (Pocket iOS v4.5.2) vorhanden und stammt aus der Zeit unmittelbar vor dem Rebranding von Read It Later zu Pocket am 17. April 2012. Die CVE umfasst alle Versionen von v0 bis v8.33.0.0 — der Defekt wurde kontinuierlich, unverändert, über die gesamte 18-jährige Lebensdauer des Produkts ausgeliefert (siehe §7). Die forensische Bestätigung auf Codeebene über das älteste verfügbare Bundle (iOS v4.5.2) datiert die identische Senke auf mindestens 2012.
Es ist kein Patch verfügbar. Das Produkt ist aufgegeben. Alle installierten Instanzen bleiben dauerhaft verwundbar.
com.ideashower.readitlater.procom.ideashower.readitlater.pro_8.33.0.0.apkhttps://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro erreichbar, aber die App ist nicht mehr zum Download verfügbar.Datei: assets/html/j/articleview-mobile.js
Zeilen 95–99:```javascript
// article content was retrieved
loadCallback : function(content)
{
// TODO : 3.0 : If file was missing, handle that correctly
$(document.body).html(content);
**Ursache:** Extern bezogenes HTML wird ohne Bereinigung direkt an die `.html()`-Methode von jQuery 3.4.1 übergeben. jQuery 3.4.1 führt eingebettete `<script>`-Tags und Inline-Event-Handler (`onerror`, `onload`) aus. Es gibt keinen Aufruf von `DOMPurify`, `sanitize()`, `escapeHtml()` oder einem Äquivalent irgendwo in der 1.836 Zeilen umfassenden Datei. Die Variable `content` stammt aus der Java-Schicht ohne Filterung auf JS-Seite.
Der Kommentar `// TODO : 3.0 : If file was missing, handle that correctly`, der dem verwundbaren Aufruf unmittelbar vorausgeht, zeigt, dass der Code nie für den Produktionseinsatz gehärtet wurde. Dieser Kommentar war in jeder Version der App bis zur finalen Veröffentlichung v8.33.0.0 vorhanden.
### 3.3 JavaScript-Bridge-Nachweis
**Datei:** `assets/html/j/articleview-mobile.js`, Zeilen 11–14:```javascript
// Android comm object
if (typeof PocketAndroidArticleInterface == 'undefined')
PocketAndroidArticleInterface = false;
isAndroid = !!PocketAndroidArticleInterface;
Bestätigt durch DEX-String-Analyse (classes2.dex):```
PocketAndroidArticleInterface
setJavaScriptEnabled
addJavascriptInterface
Bestätigte Bridge-Methoden aus JS-Aufrufstellen: `onReady()`, `onError()`, `onScrollChanged()`, `setFrozen()`, `placePageBlockers()`, `toggleFullscreen()`, `setViewType()`, `scrollToPosition()`, `onTextSearch()`, `onRequestedHighlightPatch()`, `updatePageSwipingDisabledAreas()`, `getHorizontalMargin()`, `getMaxMediaHeight()`, `isConnected()`.
### 3.4 Hintergrund-Synchronisierungsdienst
**AndroidManifest.xml** bestätigt:```xml
<service
android:name="com.pocket.sdk.offline.DownloadingService"
android:permission="android.permission.FOREGROUND_SERVICE_DATA_SYNC">
Mit registriertem BOOT_COMPLETED-Receiver. Der Dienst ruft Artikelinhalte automatisch beim Gerätestart und bei Netzwerkverfügbarkeit ab und rendert sie, wodurch loadCallback in einer versteckten WebView ohne jegliche Benutzerinteraktion ausgelöst wird.
Phase 1 — Content Injection [CONFIRMED] Attacker hosts page with XSS payload. Victim saves URL via "Save to Pocket". Malicious HTML stored in local Pocket database.
Phase 2 — Zero-Click Background Sync [CONFIRMED] DownloadingService auto-starts on boot (BOOT_COMPLETED). Fetches article content silently, no user interaction.
Phase 3 — Automatic WebView Rendering [CONFIRMED] Pagination engine (updatePaging) triggers hidden WebView render. No user opens the article.
Phase 4 — JavaScript Execution [CONFIRMED] loadCallback calls $(document.body).html(content). jQuery 3.4.1 executes embedded scripts and event handlers.
Phase 5 — Native Bridge Reachability [PARTIAL] Bridge object PocketAndroidArticleInterface is reachable from the XSS execution context (confirmed via classes2.dex string analysis and JS call-site inventory). Full native method surface and downstream impact pending complete JADX decompilation.
## 4. Proof of Concept```html
<!DOCTYPE html>
<html>
<body>
</body>
</html>
Schritte zur Reproduktion:
DownloadingService ruft Inhalte automatisch ab.loadCallback → $(document.body).html(content) → Payload wird ausgelöst.Hinweis zum Plattformumfang des PoC: Der obige ausführbare Proof of Concept zielt auf den Android-Build ab, bei dem es sich um den 0-Klick-Fall handelt (Hintergrund-
DownloadingService). Das iOS-Pendant (Pocket iOS v4.5.2 /ReadItLaterPro.app) teilt die identische verwundbareloadCallback()-Sink in einer Datei desselben Namens, erreicht nativen Code jedoch über einen anderen Bridge-Mechanismus (dasx-ril-cmd:-URL-Schema, das vomUIWebView-Delegate abgefangen wird) und degradiert zu einem 1-Klick-Fall (der Benutzer muss einen gespeicherten Artikel öffnen). Der iOS-Nachweis wird durch statische Analyse des ausgelieferten App-Bundles erbracht und ist vollständig iniOS_forensic_analysis_v4.5.2.mdin diesem Repository dokumentiert. Es wird kein separater ausführbarer iOS-PoC veröffentlicht; die Analyse der gemeinsamen Codebasis belegt die Äquivalenz der Sink über beide Plattformen hinweg.
Vollständiger Vektor: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Base Score: 9.2 — CRITICAL
Alle Daten wurden anhand der ursprünglichen E-Mail-Nachweise verifiziert (POCKET_MAIL.pdf, POCKET_MAIL1.pdf, CRONO2.pdf).
Der CVE-Eintrag bestätigt alle Versionen von v0 bis v8.33.0.0 als betroffen. Der Defekt ist keine Regression — er ist die ursprüngliche Architektur der Artikel-Rendering-Pipeline, vorhanden seit Read It Later 2007 als Firefox-Erweiterung startete, übernommen in die mobilen Apps (Android ab 2011, iOS früher) und unverändert durch das finale Android-Release 2025 ausgeliefert. Die forensische Bestätigung auf Codeebene der identischen verwundbaren Sink reicht bis 2012 zurück über das älteste verfügbare Bundle (iOS v4.5.2).
ReadItLaterPro.app)Das iOS-Anwendungsbundle trägt den Namen ReadItLaterPro.app — der Produktname vor dem Rebranding, der von Read It Later, Inc. verwendet wurde, bevor das Unternehmen die App am 17. April 2012 öffentlich in Pocket umbenannte. Das Bundle zielt auf iOS 5.0+, was die Codebasis in den Zeitraum 2011–Anfang 2012 einordnet.
Die forensische Analyse dieses iOS-Bundles bestätigt ein Zeichen für Zeichen identisches verwundbares Muster in einer Datei mit dem gleichen Namen wie die Android-Version. Die vollständige iOS-Forensik-Analyse — verwundbare Sink, Content-Pipeline, native Bridge, Telemetrie-Inventar und Nachweisreferenzen — ist in diesem Repository als iOS_forensic_analysis_v4.5.2.md veröffentlicht.
Datei: manifest/cache/j/articleview-mobile.js (iOS) — gleicher Dateiname wie assets/html/j/articleview-mobile.js (Android)
Zeilen 97–107 (iOS):```javascript // article content was retrieved loadCallback : function(content) { // TODO : 3.0 : If file was missing, handle that correctly
$(document.body).html(content); // ← IDENTICAL TO ANDROID
// Add empty content to bottom in case an image is at bottom.
$(document.body).append($('<br> '))
this.onArticleReady();
},
Der gleiche `// TODO : 3.0`-Kommentar ist auf beiden Plattformen vorhanden — derselbe exakte Platzhalter, über ~13 Jahre hinweg nie weiterverfolgt.
### 7.2 Gemeinsame Codebasis bestätigt
Das iOS-Bundle enthält explizite plattformverzweigende Logik, die beweist, dass Read It Later, Inc. / Mozilla **eine einzige gemeinsame JavaScript-Codebasis** an beide Plattformen ausgeliefert hat:```javascript
var isAndroid;
if (typeof ReadItLaterJSMethods == 'undefined')
ReadItLaterJSMethods = false;
isAndroid = !!ReadItLaterJSMethods;
Wenn isAndroid === false ist, wird der iOS-Bridge-Pfad ausgeführt; wenn true, wird der Android-Pfad ausgeführt. Beide Pfade laufen auf dieselbe verwundbare loadCallback() zusammen, ohne Bereinigung auf beiden Plattformen.
Hinweis zur UIWebView-Zeitleiste: Apple führte WKWebView als Nachfolger in iOS 8 (2014) ein. UIWebView wurde formal in iOS 12 (2018) veraltet. Der App Store akzeptierte ab April 2020 keine neuen Apps mit UIWebView mehr und ab Dezember 2020 keine Updates bestehender Apps. UIWebView wurde nie formal aus dem SDK entfernt — es ist weiterhin vorhanden, wird aber nicht mehr für App-Store-Einreichungen akzeptiert. Seine hier relevanten Sicherheitsschwächen bestehen darin, dass es im Prozess läuft (kein separater WebContent-Prozess), keine Content-Security-Policy-Unterstützung bietet und injiziertes JavaScript synchron im Hauptthread über stringByEvaluatingJavaScriptFromString: ausführt.
Read It Later, Inc. — und in der Folge Mozilla nach der Übernahme — lieferten dasselbe unbereinigte .html()-Injektionsmuster, in einer Datei desselben Namens, mit demselben unbehandelten TODO-Kommentar, über die gesamte 18-jährige Lebensdauer des Produkts (2007 → 2025), bestätigt durch MITRE als alle Versionen von v0 bis v8.33.0.0 betreffend.
Dies umfasst den Zeitraum nach dem formellen CWE-79-Bericht vom 2024-07-10. Mindestens eine weitere Android-Release-Linie wurde 2024–2025 produziert (gipfelnd in v8.33.0.0), wobei der verwundbare Code wörtlich erhalten blieb.
Pockets Artikel-Reader injiziert rohes, extern bezogenes HTML über $(document.body).html(content) ohne Bereinigung in das DOM. Der // TODO-Kommentar in Zeile 95 bestätigt, dass der Code nie für die Produktion gehärtet wurde. Diese architektonische Entscheidung war von den frühesten mobilen Builds (siehe §7) bis zur finalen Android-Version v8.33.0.0 vorhanden — unverändert über etwa 13 Jahre und mindestens einen vollständigen Eigentümerwechsel hinweg, und unverändert nach einem formellen Sicherheitsbericht im Juli 2024.
Für die Zeitleiste der Anbieterreaktion nach 2024 und die genaue Abfolge zwischen dem formellen CWE-79-Bericht, Mozillas Ablehnung und der finalen ungepatchten Version siehe §6.
Es existieren keine Anbieter-Mitigationen und es sind keine zu erwarten.
Für Endbenutzer: Deinstallieren Sie com.ideashower.readitlater.pro sofort. Widerrufen Sie Google-OAuth-Berechtigungen.
Für die Sicherheitsgemeinschaft: Dieser Fall qualifiziert sich als „Forever-Day"-Schwachstelle — bestätigt, ungepatcht, in aufgegebener Software ohne verfügbaren Behebungsweg. Geeignet für die Klassifizierung unter dem Tag Unsupported When Assigned gemäß der MITRE-EOL-Richtlinie.
Analysierte APK: com.ideashower.readitlater.pro_8.33.0.0.apk
Werkzeuge: Android Studio, DEX2JAR, manuelle Code-Überprüfung, binäres AXML-Parsing (UTF-16LE), Protocol-Buffer-Schema-Inspektion, DEX-String-Extraktion. iOS-Bundle inspiziert mittels String-Extraktion und Quellcode-Überprüfung der eingebetteten JavaScript-Pipeline.
Beweiskette:```
APK acquired └── com.ideashower.readitlater.pro_8.33.0.0.apk
Decompiled ├── assets/html/j/articleview-mobile.js (XSS — lines 95–99) ├── assets/html/article-mobile.html (jQuery 3.4.1) ├── AndroidManifest.xml (DownloadingService, SDK receivers) └── classes.dex / classes2.dex / classes3.dex
iOS counterpart bundle acquired and analyzed └── ReadItLaterPro.app (Pocket iOS v4.5.2) └── manifest/cache/j/articleview-mobile.js (XSS — lines 97–107) └── full analysis: iOS_forensic_analysis_v4.5.2.md
Vendor communication record └── Original emails verified: POCKET_MAIL.pdf, POCKET_MAIL1.pdf, CRONO2.pdf First report: 2021-04-19 XSS formally reported: 2024-07-10 Vendor final refusal: 2024-07-11
Dynamic evidence └── Video recording 2026-01-02: app fully operational post-sunset on real device
---
## 11. CVE-Datensatz
**CVE-ID:** CVE-2026-82090 — Veröffentlicht am 2026-08-28 von der MITRE Corporation (CNA). Ursprünglich eingereicht als CAN-2026-2030598 über cveform.mitre.org.
**Hersteller:** Mozilla Corporation
**Produkt:** Pocket (Android)
**Version:** 8.33.0.0
**Schwachstellentyp:** Cross-Site Scripting (XSS)
**Beschreibung (für cveform.mitre.org):**```
** UNSUPPORTED WHEN ASSIGNED ** A DOM-Based Cross-Site Scripting
(XSS) vulnerability (CWE-79) in the articleview-mobile.js
component of Mozilla Pocket for Android through version 8.33.0.0
allows remote attackers to execute arbitrary JavaScript within
the application's WebView. By leveraging the background
DownloadingService, a crafted HTML payload is processed
automatically without user interaction (zero-click), allowing
interaction with the native PocketAndroidArticleInterface Java
bridge.
NOTE: This product is End-of-Life and no longer supported by
the vendor.
Zusätzliche Informationen / Kommunikation mit dem Hersteller:``` First disclosure: 2021-04-19 (paywall bypass). Formal security report identifying XSS (CWE-79): 2024-07-10 to Mozilla Security. Vendor response (2024-07-11): Product declared out of scope. Final APK v8.33.0.0 released in 2025 with vulnerable code unchanged. Service sunset 2025-07-08. Product is abandoned. The same vulnerable line is present in the iOS counterpart bundle (ReadItLaterPro.app, v4.5.2, circa 2012), evidencing ~13 years of unmodified shipment across both mobile platforms.
---
## 12. Referenzen
- CVE-2026-82090 (offizieller Eintrag): https://www.cve.org/CVERecord?id=CVE-2026-82090
- CWE-79: https://cwe.mitre.org/data/definitions/79.html
- CWE-116: https://cwe.mitre.org/data/definitions/116.html
- CVSS v4.0 Spezifikation: https://www.first.org/cvss/v4.0/specification-document
- MITRE CVE EOL-Prozess: https://www.cve.org/Resources/General/End-of-Life-EOL-Assignment-Process.pdf
- MITRE CNA Betriebsregeln: https://www.cve.org/resourcessupport/allresources/cnarules
- jQuery `.html()`-Verhalten: https://api.jquery.com/html/
- Android `addJavascriptInterface`: https://developer.android.com/reference/android/webkit/WebView#addJavascriptInterface(java.lang.Object,%20java.lang.String)
- Apple — `UIWebView`-Veraltung: https://developer.apple.com/documentation/uikit/uiwebview
- Apple — Aktualisierung von Apps, die Web Views verwenden (App Store UIWebView-Fristen): https://developer.apple.com/news/?id=12232019b
- Read It Later → Pocket Umbenennung (17. April 2012): https://blog.getpocket.com/2012/04/introducing-the-all-new-read-it-later-now-called-pocket/
---
*Ing. Zampier Zago (FUNFACTOR1) — Sektion 1 — Abteilung für Cybersicherheit, PS 1978 Limited — [email protected] — [www.ps1978ltd.it](http://www.ps1978ltd.it) — https://github.com/FUNFACTOR1*
| Feld | Wert |
|---|
| CVE | CVE-2026-82090 — Veröffentlicht 2026-08-28 — CNA: MITRE Corporation |
| Schwachstellentyp | DOM-basiertes XSS (0-Click) + Missbrauch der JavaScript-Bridge |
| CWE | CWE-79, CWE-116 |
| Exploit-Status | 0-Click, 0-Day — kein Patch verfügbar; Produkt End-of-Life |
| Reaktion des Herstellers | 2024-07-11 — „Pocket is out of scope" (Frida, Mozilla Security Team) |
| Betroffenes Produkt | Pocket Android v8.33.0.0 (letzte Version) |
| Paket-ID | com.ideashower.readitlater.pro |
| Hersteller | Mozilla Corporation / Read It Later, Inc. |
| CVSS v4.0 Score | 9.2 — CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| Schweregrad | CRITICAL |
| Erstmals an Hersteller gemeldet | 2021-04-19 (Paywall-Umgehung) |
| XSS formell an Mozilla Security gemeldet | 2024-07-10 |
| Letzte APK mit intakter Schwachstelle veröffentlicht | 2025 — v8.33.0.0 |
| Dienstabschaltung | 2025-07-08 |
| Code-Abstammung | 18 Jahre — alle Versionen (v0 → v8.33.0.0, 2007 → 2025). Forensische Codebestätigung aus dem iOS-Bundle von 2012. |
| Feld | Wert |
|---|
| Typ | DOM-basiertes Cross-Site Scripting |
| CWE | CWE-79 — Unsachgemäße Neutralisierung von Eingaben bei der Webseitengenerierung |
| Sekundäres CWE | CWE-116 — Unsachgemäße Kodierung oder Maskierung von Ausgaben |
| Angriffsvektor | Remote, 0-Click (keine Benutzerinteraktion nach der Zustellung) |
| Erforderliche Berechtigungen | Keine |
| Geltungsbereich | Geändert — WebView-Kontext überschreitet die Vertrauensgrenze in die native Android-Bridge |
| Metrik | Wert | Begründung |
|---|
| Attack Vector (AV) | Network (N) | Payload wird über das Internet geliefert und ausgeführt |
| Attack Complexity (AC) | Low (L) | Keine Race Conditions oder Speicherschutzmechanismen, die umgangen werden müssen |
| Attack Requirements (AT) | Present (P) | Der Benutzer muss vor dem Angriff mindestens einen Artikel gespeichert haben, um die Hintergrundsynchronisierung auszulösen |
| Privileges Required (PR) | None (N) | Keine Authentifizierung am Ziel erforderlich |
| User Interaction (UI) | None (N) | Ausführung automatisch über den Hintergrunddienst nach dem Speichern |
| Vuln. Confidentiality (VC) | High (H) | Session-Tokens, Artikel-DB, Lesegewohnheiten offengelegt |
| Vuln. Integrity (VI) | High (H) | JS kann den App-Zustand über native Bridge-Methoden verändern |
| Vuln. Availability (VA) | High (H) | Verfügbarkeit des Hintergrunddienstes kann beeinträchtigt werden |
| Subsequent (SC / SI / SA) | None (N) | Der nachgewiesene Impact bleibt innerhalb der Android Application Sandbox / WebView-Vertrauensgrenze. Ein Pivot zu einem separaten nachgelagerten System wurde nicht nachgewiesen; SC/SI/SA konservativ auf None gesetzt, um eine Überbewertung zu vermeiden |
| Remediation Level (RL) | Unavailable (U) | Produkt aufgegeben; kein Patch in Aussicht |
| Datum | Ereignis | Quelle / Beteiligte |
|---|
| 2021-04-19 | Erste Meldung an den Pocket-Support: Paywall-Umgehung, die die Umgehung der Zugriffskontrollen von Verlagen auf italienischen Nachrichtenseiten ermöglicht. Video, Screenshots und Beispiel-URLs wurden bereitgestellt. | Zampier Zago → [email protected] |
| 2021-04-22 | Antwort des Pocket-Supports: Anforderung spezifischer URLs und Screenshots. | Pocket Support (Manuel) → Zampier Zago |
| 2021-05-17 | Der Forscher stellte zwei Live-PoC-URLs bereit, die eine vollständige Inhaltsumgehung demonstrierten. | Zampier Zago → [email protected] |
| 2021–2024 | Keine weiteren Maßnahmen des Herstellers. Ursprüngliche Position des Herstellers: „nicht auf Pocket zurückzuführen." Der Forscher zweifelte drei Jahre lang an seinem eigenen Befund angesichts der definitiven Ablehnung. | — |
| ~Juni 2024 | Der Forscher führt eine APK-Analyse durch, identifiziert XSS im WebView (articleview-mobile.js), einen Missbrauchsvektor der JavaScript-Bridge, CWE-79 / CWE-200 / CWE-693. | Zampier Zago |
| 2024-05-31 | Der Fall wird formell wiedereröffnet. Öffentliche Bestätigung der identischen Paywall-Umgehung durch Dritte (bardeen.ai). Der Forscher verweist auf den ursprünglichen Bericht von 2021. | Zampier Zago → [email protected] |
| 2024-06-06 | Pocket Support (Alejandra Galo): intern eskaliert, kein Fix zugesagt. „Unser Parser ist nicht darauf ausgelegt, besagte Paywalls zu umgehen." | Pocket Support → Zampier Zago |
| 2024-07-02 | Der Forscher sendet eine formelle Nachverfolgung an das Pocket/Mozilla Security Team über das Support-Ticket #151540 und verweist ausdrücklich auf den ersten Bericht von 2021 und bittet um formelle Bestätigung. | Zampier Zago → [email protected] |
| 2024-07-04, 13:18 CST | Pocket Support (Dayana Galeano): verweist an [email protected]. „Da Sie eine Sicherheitslücke melden, möchte ich Sie ermutigen, sich stattdessen an [email protected] zu wenden." | Pocket Support → Zampier Zago |
| 2024-07-10, 21:05 | Der Forscher reicht einen vollständigen technischen Sicherheitsbericht bei Mozilla Security ([email protected]) ein, einschließlich CWE-79 (XSS), CWE-200 (Informationspreisgabe), CWE-693 (Versagen des Schutzmechanismus), HTTP-Request/Response-Beispielen, XSS-Payload-Demonstration und Impact-Analyse. | Zampier Zago → [email protected] |
| 2024-07-11, 09:32 | Antwort von Mozilla Security (Frida): „Pocket liegt außerhalb des Geltungsbereichs unseres Web-Bug-Bounty-Programms und wir akzeptieren nur Berichte mit kritischem Schweregrad." Es wird um einzelne HackerOne-Einreichungen gebeten. Kein Fix zugesagt. | Mozilla Security Team → Zampier Zago |
| 2024-07-24, 19:00 | Mozilla Privacy Team ([email protected]): verweist auf das Bug-Bounty-Formular. Keine inhaltliche Auseinandersetzung. | Mozilla Privacy Team → Zampier Zago |
| 2025 | Mozilla veröffentlicht v8.33.0.0 als die finale Version von Pocket Android vor der Einstellung des Dienstes. Der verwundbare Code in articleview-mobile.js (Zeilen 95–99) ist identisch und unverändert. Kein Sicherheitspatch bereitgestellt. Kein Kill-Switch oder erzwungene Deinstallation. | Mozilla (öffentlich) |
| 2025-07-08 | Der Pocket-Dienst wird offiziell eingestellt. Die Anwendung bleibt auf den Geräten der Benutzer installiert und betriebsbereit. | Mozilla (öffentlich) |
| 2026-01-02 | Video-Nachweis auf einem echten Gerät aufgezeichnet: Pocket Android v8.33.0.0 Monate nach der Diensteinstellung voll funktionsfähig. Paywall-Umgehung als weiterhin aktiv bestätigt. Hintergrunddienste als laufend bestätigt. (Komprimierte Version herunterladbar; Original mit vollständig verifizierbaren Metadaten auf Anfrage erhältlich.) | Zampier Zago (Videoaufzeichnung) |
| Aspekt | Android v8.33.0.0 (2025) | iOS v4.5.2 (~2012) |
|---|
| Verwundbare Datei | assets/html/j/articleview-mobile.js | manifest/cache/j/articleview-mobile.js |
| Verwundbare Senke | $(document.body).html(content) L95–99 | $(document.body).html(content) L97–107 |
| Bereinigung | Keine | Keine |
| Native-Bridge-Mechanismus | addJavascriptInterface → PocketAndroidArticleInterface (Java) | x-ril-cmd: URL-Schema abgefangen durch UIWebView-Delegate (Objective-C) |
| Bridge erreicht nativen Code | Ja | Ja |
| Automatisches Rendern im Hintergrund | Ja — DownloadingService bei BOOT_COMPLETED | Nein — Artikel muss vom Benutzer geöffnet werden |
| Erforderliche Benutzerinteraktion | Keine (0-Klick) | Artikel öffnen (1-Klick) |
| Artikeltransport | HTTPS | HTTP-Klartext (http://text.getpocket.com/v3beta/mobile) zum Zeitpunkt der Bundle-Analyse — zusätzlicher MITM-Vektor im ursprünglichen Deployment (Endpunkt seit Diensteinstellung offline) |
| WebView-Technologie | Modernes Android WebView | UIWebView (veraltet seit iOS 12; seit 2020 nicht mehr vom App Store akzeptiert) |