
CVE-2026-82090 · CVSS 9.2 CRITICO · XSS memorizzato 0-click in Mozilla Pocket — tutte le versioni (v0 → v8.33.0.0) · forever-day di 18 anni · nessuna patch · pubblicato da MITRE
Autore: Ing. Zampier Zago (FUNFACTOR1) Divisione: Sezione 1 — Dipartimento di Cyber Security, PS 1978 Limited Contatto: [email protected] Web: www.ps1978ltd.it Classificazione: Analisi di vulnerabilità di sicurezza — CVE-2026-82090
Dual-Use Content Disclaimer: Questo repository contiene un'analisi di vulnerabilità e una Proof of Concept (PoC) per un prodotto End-of-Life (EOL). Le informazioni e il codice forniti sono strettamente a scopo didattico, di analisi difensiva e di documentazione ufficiale CVE. L'autore non si assume alcuna responsabilità per qualsiasi uso improprio di queste informazioni.
https://github.com/user-attachments/assets/e2b0aa46-df64-452b-afbf-fa31dd8c650d
Una vulnerabilità Cross-Site Scripting (XSS) basata su DOM è stata confermata in Pocket Android versione 8.33.0.0 (pacchetto com.ideashower.readitlater.pro), l'ultima release distribuita da Mozilla / Read It Later, Inc. prima della cessazione del servizio nel luglio 2025. La vulnerabilità consente a un attaccante di iniettare ed eseguire JavaScript arbitrario nella WebView dell'applicazione senza alcuna interazione da parte dell'utente oltre a una singola azione "Save to Pocket" — un exploit 0-click post-consegna.
La causa principale è l'iniezione non sanificata di contenuto HTML di provenienza esterna direttamente nel DOM tramite il metodo .html() di jQuery ($(document.body).html(content)), nel file incluso negli asset assets/html/j/articleview-mobile.js (righe 95–99). Il contenuto viene recuperato e renderizzato automaticamente in background da com.pocket.sdk.offline.DownloadingService senza alcuna interazione da parte dell'utente.
L'applicazione espone inoltre un bridge nativo Java-to-JavaScript (PocketAndroidArticleInterface), registrato tramite addJavascriptInterface e confermato in classes2.dex, richiamabile da JavaScript in esecuzione all'interno della WebView.
Registro di divulgazione al vendor: L'XSS è stato formalmente segnalato a Mozilla Security il 2024-07-10 con classificazione CWE-79 e dettagli tecnici completi. Mozilla ha confermato la ricezione il 2024-07-11 e ha esplicitamente rifiutato di porre rimedio, dichiarando Pocket fuori ambito. Mozilla ha successivamente rilasciato la v8.33.0.0 nel 2025 con il codice vulnerabile completamente invariato. L'analisi forense della v8.33.0.0 conferma la chiamata vulnerabile identica alle righe 95–99 di articleview-mobile.js.
Lineage: La stessa identica riga — $(document.body).html(content), in un file con lo stesso nome articleview-mobile.js — è presente nel bundle della controparte iOS ReadItLaterPro.app (Pocket iOS v4.5.2), risalente all'epoca immediatamente precedente al rebranding del 17 aprile 2012 di Read It Later come Pocket. La CVE copre tutte le versioni dalla v0 alla v8.33.0.0 — il difetto è stato distribuito continuativamente, senza modifiche, per l'intero ciclo di vita del prodotto di 18 anni (vedere §7). La conferma forense a livello di codice tramite il bundle più vecchio disponibile (iOS v4.5.2) data il sink identico ad almeno il 2012.
Nessuna patch è disponibile. Il prodotto è abbandonato. Tutte le istanze installate rimangono permanentemente vulnerabili.
com.ideashower.readitlater.procom.ideashower.readitlater.pro_8.33.0.0.apkhttps://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro ma l'app non è più disponibile per il download.File: assets/html/j/articleview-mobile.js
Righe 95–99:```javascript
// article content was retrieved
loadCallback : function(content)
{
// TODO : 3.0 : If file was missing, handle that correctly
$(document.body).html(content);
**Causa principale:** HTML di origine esterna viene passato direttamente al metodo `.html()` di jQuery 3.4.1 senza alcuna sanificazione. jQuery 3.4.1 esegue i tag `<script>` incorporati e i gestori di eventi inline (`onerror`, `onload`). Non esiste alcuna chiamata a `DOMPurify`, `sanitize()`, `escapeHtml()` o equivalente in nessuna parte del file di 1.836 righe. La variabile `content` proviene dal livello Java senza filtraggio lato JS.
Il commento `// TODO : 3.0 : If file was missing, handle that correctly` immediatamente precedente alla chiamata vulnerabile dimostra che il codice non è mai stato irrobustito per la produzione. Questo commento era presente in ogni versione dell'app fino alla release finale v8.33.0.0.
### 3.3 Evidenza del Bridge JavaScript
**File:** `assets/html/j/articleview-mobile.js`, righe 11–14:```javascript
// Android comm object
if (typeof PocketAndroidArticleInterface == 'undefined')
PocketAndroidArticleInterface = false;
isAndroid = !!PocketAndroidArticleInterface;
Confermato tramite l'analisi delle stringhe DEX (classes2.dex):```
PocketAndroidArticleInterface
setJavaScriptEnabled
addJavascriptInterface
Metodi bridge confermati dai call site JS: `onReady()`, `onError()`, `onScrollChanged()`, `setFrozen()`, `placePageBlockers()`, `toggleFullscreen()`, `setViewType()`, `scrollToPosition()`, `onTextSearch()`, `onRequestedHighlightPatch()`, `updatePageSwipingDisabledAreas()`, `getHorizontalMargin()`, `getMaxMediaHeight()`, `isConnected()`.
### 3.4 Servizio di sincronizzazione in background
**AndroidManifest.xml** conferma:```xml
<service
android:name="com.pocket.sdk.offline.DownloadingService"
android:permission="android.permission.FOREGROUND_SERVICE_DATA_SYNC">
Con il receiver BOOT_COMPLETED registrato. Il servizio recupera e renderizza automaticamente il contenuto dell'articolo all'avvio del dispositivo e alla disponibilità della rete, attivando loadCallback in una WebView nascosta senza alcuna interazione dell'utente.
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>
Passaggi per riprodurre:
DownloadingService recupera il contenuto automaticamente.loadCallback → $(document.body).html(content) → il payload si attiva.Nota sull'ambito della piattaforma del PoC: Il proof of concept eseguibile sopra è rivolto alla build Android, che è il caso 0-click (
DownloadingServicein background). La controparte iOS (Pocket iOS v4.5.2 /ReadItLaterPro.app) condivide il medesimo sink vulnerabileloadCallback()in un file con lo stesso nome, ma raggiunge il codice nativo attraverso un meccanismo di bridge diverso (lo schema URLx-ril-cmd:intercettato dal delegate diUIWebView) e degrada a un caso 1-click (l'utente deve aprire un articolo salvato). L'evidenza iOS è stabilita tramite analisi statica del bundle dell'app distribuita ed è documentata integralmente iniOS_forensic_analysis_v4.5.2.mdin questo repository. Non viene pubblicato alcun PoC iOS eseguibile separato; l'analisi del codebase condiviso dimostra l'equivalenza del sink su entrambe le piattaforme.
Vettore completo: 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
Tutte le date verificate rispetto alle evidenze email originali (POCKET_MAIL.pdf, POCKET_MAIL1.pdf, CRONO2.pdf).
Il record CVE conferma tutte le versioni dalla v0 fino alla v8.33.0.0 come affette. Il difetto non è una regressione — è l'architettura originale della pipeline di rendering degli articoli, presente da quando Read It Later è stato lanciato come estensione Firefox nel 2007, trasportata nelle app mobile (Android dal 2011, iOS prima), e distribuita invariata fino al rilascio finale Android del 2025. La conferma forense a livello di codice dell'identico sink vulnerabile si estende al 2012 tramite il bundle più vecchio disponibile (iOS v4.5.2).
ReadItLaterPro.app)Il bundle dell'applicazione iOS è denominato ReadItLaterPro.app — il nome del prodotto pre-rebrand utilizzato da Read It Later, Inc. prima che l'azienda rinominasse pubblicamente l'app in Pocket il 17 aprile 2012. Il bundle è destinato a iOS 5.0+, collocando il codebase nel periodo 2011–inizio 2012.
L'analisi forense di questo bundle iOS conferma un pattern vulnerabile identico carattere per carattere in un file con lo stesso nome della versione Android. L'analisi forense iOS completa — sink vulnerabile, pipeline dei contenuti, bridge nativo, inventario della telemetria e riferimenti alle evidenze — è pubblicata in questo repository come iOS_forensic_analysis_v4.5.2.md.
File: manifest/cache/j/articleview-mobile.js (iOS) — stesso nome file di assets/html/j/articleview-mobile.js (Android)
Righe 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();
},
Lo stesso commento `// TODO : 3.0` è presente su entrambe le piattaforme — lo stesso identico segnaposto, mai portato a termine, nell'arco di ~13 anni.
### 7.2 Codebase condivisa confermata
Il bundle iOS contiene una logica esplicita di diramazione per piattaforma che dimostra che Read It Later, Inc. / Mozilla distribuiva **un'unica codebase JavaScript condivisa** su entrambe le piattaforme:```javascript
var isAndroid;
if (typeof ReadItLaterJSMethods == 'undefined')
ReadItLaterJSMethods = false;
isAndroid = !!ReadItLaterJSMethods;
Quando isAndroid === false viene eseguito il percorso del bridge iOS; quando è true viene eseguito il percorso Android. Entrambi i percorsi convergono sulla stessa vulnerabile loadCallback() senza alcuna sanificazione su nessuna delle due piattaforme.
Nota sulla cronologia di UIWebView: Apple ha introdotto WKWebView come successore in iOS 8 (2014). UIWebView è stata formalmente deprecata in iOS 12 (2018). L'App Store ha smesso di accettare nuove app che utilizzavano UIWebView nell'aprile 2020 e aggiornamenti ad app esistenti nel dicembre 2020. UIWebView non è mai stata formalmente rimossa dall'SDK — rimane presente ma non è più accettata per le submission all'App Store. Le sue debolezze di sicurezza rilevanti in questo contesto sono che viene eseguita in-process (nessun processo WebContent separato), non supporta la Content Security Policy ed esegue JavaScript iniettato in modo sincrono sul thread principale tramite stringByEvaluatingJavaScriptFromString:.
Read It Later, Inc. — e successivamente Mozilla dopo l'acquisizione — ha distribuito lo stesso pattern di iniezione .html() non sanificato, in un file con lo stesso nome, con lo stesso commento TODO non risolto, per l'intero arco di vita del prodotto di 18 anni (2007 → 2025), confermato da MITRE come riguardante tutte le versioni dalla v0 fino alla v8.33.0.0.
Ciò include il periodo successivo alla segnalazione formale CWE-79 del 2024-07-10. Almeno un'ulteriore linea di rilascio Android è stata prodotta nel 2024–2025 (culminata nella v8.33.0.0) con il codice vulnerabile preservato alla lettera.
Il lettore di articoli di Pocket inietta HTML grezzo proveniente da fonti esterne nel DOM tramite $(document.body).html(content) senza alcuna sanificazione. Il commento // TODO alla riga 95 conferma che il codice non è mai stato irrobustito per la produzione. Questa scelta architetturale era presente dalle prime build mobile (vedi §7) fino all'ultima release Android v8.33.0.0 — invariata per circa 13 anni e attraverso almeno una transizione completa di proprietà, e invariata dopo una segnalazione di sicurezza formale nel luglio 2024.
Per la cronologia della risposta del fornitore successiva al 2024 e la sequenza precisa tra la segnalazione formale CWE-79, il rifiuto di Mozilla e la release finale non corretta, fare riferimento al §6.
Non esistono né sono previste mitigazioni da parte del fornitore.
Per gli utenti finali: Disinstallare immediatamente com.ideashower.readitlater.pro. Revocare le autorizzazioni Google OAuth.
Per la comunità della sicurezza: Questo caso si qualifica come vulnerabilità "Forever-Day" — confermata, non corretta, in software abbandonato senza alcun percorso di remediation disponibile. Adatto alla classificazione sotto il tag Unsupported When Assigned secondo la policy EOL di MITRE.
APK analizzato: com.ideashower.readitlater.pro_8.33.0.0.apk
Strumenti: Android Studio, DEX2JAR, revisione manuale del codice, parsing binario AXML (UTF-16LE), ispezione dello schema Protocol Buffer, estrazione di stringhe DEX. Bundle iOS ispezionato tramite estrazione di stringhe e revisione del codice sorgente della pipeline JavaScript incorporata.
Catena di evidenze:```
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. Record CVE
**ID CVE:** CVE-2026-82090 — Pubblicato il 2026-08-28 da MITRE Corporation (CNA). Originariamente inviato come CAN-2026-2030598 tramite cveform.mitre.org.
**Fornitore:** Mozilla Corporation
**Prodotto:** Pocket (Android)
**Versione:** 8.33.0.0
**Tipo di vulnerabilità:** Cross-Site Scripting (XSS)
**Descrizione (per 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.
Informazioni aggiuntive / Comunicazione con il fornitore:``` 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. Riferimenti
- CVE-2026-82090 (record ufficiale): 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
- Specifica CVSS v4.0: https://www.first.org/cvss/v4.0/specification-document
- Processo EOL del CVE MITRE: https://www.cve.org/Resources/General/End-of-Life-EOL-Assignment-Process.pdf
- Regole operative CNA MITRE: https://www.cve.org/resourcessupport/allresources/cnarules
- Comportamento di jQuery `.html()`: https://api.jquery.com/html/
- Android `addJavascriptInterface`: https://developer.android.com/reference/android/webkit/WebView#addJavascriptInterface(java.lang.Object,%20java.lang.String)
- Apple — Deprecazione di `UIWebView`: https://developer.apple.com/documentation/uikit/uiwebview
- Apple — Aggiornamento delle app che utilizzano Web View (scadenze App Store UIWebView): https://developer.apple.com/news/?id=12232019b
- Read It Later → rebranding in Pocket (17 aprile 2012): https://blog.getpocket.com/2012/04/introducing-the-all-new-read-it-later-now-called-pocket/
---
*Ing. Zampier Zago (FUNFACTOR1) — Sezione 1 — Dipartimento di Sicurezza Informatica, PS 1978 Limited — [email protected] — [www.ps1978ltd.it](http://www.ps1978ltd.it) — https://github.com/FUNFACTOR1*
| Campo | Valore |
|---|
| CVE | CVE-2026-82090 — Pubblicato 2026-08-28 — CNA: MITRE Corporation |
| Tipo di vulnerabilità | XSS basato su DOM (0-click) + Abuso del JavaScript Bridge |
| CWE | CWE-79, CWE-116 |
| Stato dell'exploit | 0-click, 0-day — nessuna patch disponibile; prodotto End-of-Life |
| Risposta del vendor | 2024-07-11 — "Pocket is out of scope" (Frida, Mozilla Security Team) |
| Prodotto interessato | Pocket Android v8.33.0.0 (release finale) |
| ID pacchetto | com.ideashower.readitlater.pro |
| Vendor | Mozilla Corporation / Read It Later, Inc. |
| Punteggio CVSS v4.0 | 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 |
| Gravità | CRITICAL |
| Prima segnalazione al vendor | 2021-04-19 (bypass del paywall) |
| XSS segnalato formalmente a Mozilla Security | 2024-07-10 |
| APK finale rilasciato con la vulnerabilità intatta | 2025 — v8.33.0.0 |
| Sunset del servizio | 2025-07-08 |
| Lineage del codice | 18 anni — tutte le versioni (v0 → v8.33.0.0, 2007 → 2025). Conferma forense del codice dal bundle iOS del 2012. |
| Campo | Valore |
|---|
| Tipo | Cross-Site Scripting basato su DOM |
| CWE | CWE-79 — Neutralizzazione impropria dell'input durante la generazione di pagine web |
| CWE secondario | CWE-116 — Codifica o escaping improprio dell'output |
| Vettore di attacco | Remoto, 0-click (zero interazione utente post-consegna) |
| Privilegi richiesti | Nessuno |
| Scope | Changed — il contesto della WebView attraversa il confine di fiducia verso il bridge nativo Android |
| Metrica | Valore | Giustificazione |
|---|
| Attack Vector (AV) | Network (N) | Payload consegnato ed eseguito via internet |
| Attack Complexity (AC) | Low (L) | Nessuna race condition o protezione di memoria da aggirare |
| Attack Requirements (AT) | Present (P) | L'utente deve aver salvato almeno un articolo prima dell'attacco per attivare la sincronizzazione in background |
| Privileges Required (PR) | None (N) | Nessuna autenticazione richiesta sul target |
| User Interaction (UI) | None (N) | Esecuzione automatica tramite servizio in background dopo il salvataggio |
| Vuln. Confidentiality (VC) | High (H) | Token di sessione, database degli articoli, abitudini di lettura esposti |
| Vuln. Integrity (VI) | High (H) | JS può alterare lo stato dell'app tramite metodi del bridge nativo |
| Vuln. Availability (VA) | High (H) | La disponibilità del servizio in background può essere compromessa |
| Subsequent (SC / SI / SA) | None (N) | Impatto dimostrato contenuto all'interno dell'Android Application Sandbox / del confine di fiducia della WebView. Nessun pivot verso un sistema successivo separato è stato provato; SC/SI/SA impostati conservativamente a None per evitare overclaim |
| Remediation Level (RL) | Unavailable (U) | Prodotto abbandonato; nessuna patch in arrivo |
| Data | Evento | Fonte / Parti |
|---|
| 2021-04-19 | Segnalazione iniziale al Supporto Pocket: bypass del paywall che consente di aggirare i controlli di accesso degli editori su siti di notizie italiani. Forniti video, screenshot e URL di esempio. | Zampier Zago → [email protected] |
| 2021-04-22 | Risposta del Supporto Pocket: richiesti URL specifici e screenshot. | Pocket Support (Manuel) → Zampier Zago |
| 2021-05-17 | Il ricercatore ha fornito due URL PoC live che dimostrano il bypass completo dei contenuti. | Zampier Zago → [email protected] |
| 2021–2024 | Nessul ulteriore azione del vendor. Posizione iniziale del vendor: "non dipende da Pocket." Il ricercatore ha dubitato della propria scoperta per tre anni data la definitiva reiezione. | — |
| ~giugno 2024 | Il ricercatore conduce l'analisi dell'APK, identifica XSS nella WebView (articleview-mobile.js), vettore di abuso del bridge JavaScript, CWE-79 / CWE-200 / CWE-693. | Zampier Zago |
| 2024-05-31 | Caso formalmente riaperto. Conferma pubblica di terze parti di identico bypass del paywall (bardeen.ai). Il ricercatore fa riferimento alla segnalazione originale del 2021. | Zampier Zago → [email protected] |
| 2024-06-06 | Supporto Pocket (Alejandra Galo): escalation interna, nessuna correzione impegnata. "Il nostro Parser non è progettato per aggirare detti Paywall." | Pocket Support → Zampier Zago |
| 2024-07-02 | Il ricercatore invia un follow-up formale al Team di Sicurezza Pocket/Mozilla tramite il ticket di supporto #151540, facendo esplicitamente riferimento alla prima segnalazione del 2021 e richiedendo un riconoscimento formale. | Zampier Zago → [email protected] |
| 2024-07-04, 13:18 CST | Supporto Pocket (Dayana Galeano): reindirizza a [email protected]. "Dato che stai segnalando una vulnerabilità di sicurezza, ti incoraggio a contattare invece [email protected]." | Pocket Support → Zampier Zago |
| 2024-07-10, 21:05 | Il ricercatore invia il rapporto tecnico di sicurezza completo a Mozilla Security ([email protected]) includendo CWE-79 (XSS), CWE-200 (esposizione di informazioni), CWE-693 (fallimento del meccanismo di protezione), esempi di richieste/risposte HTTP, dimostrazione del payload XSS e analisi dell'impatto. | Zampier Zago → [email protected] |
| 2024-07-11, 09:32 | Risposta di Mozilla Security (Frida): "Pocket è fuori dall'ambito del nostro programma web bug bounty e accettiamo solo segnalazioni con severità critica." Richiede invii individuali su HackerOne. Nessuna correzione impegnata. | Mozilla Security Team → Zampier Zago |
| 2024-07-24, 19:00 | Team Privacy Mozilla ([email protected]): reindirizza al modulo bug bounty. Nessun coinvolgimento sostanziale. | Mozilla Privacy Team → Zampier Zago |
| 2025 | Mozilla rilascia la v8.33.0.0 come versione finale di Pocket Android prima della dismissione del servizio. Il codice vulnerabile in articleview-mobile.js (righe 95–99) è identico e non modificato. Nessuna patch di sicurezza distribuita. Nessun kill-switch o disinstallazione forzata. | Mozilla (pubblico) |
| 2025-07-08 | Servizio Pocket ufficialmente terminato. L'applicazione rimane installata e operativa sui dispositivi degli utenti. | Mozilla (pubblico) |
| 2026-01-02 | Evidenza video registrata su dispositivo reale: Pocket Android v8.33.0.0 pienamente operativo mesi dopo la terminazione del servizio. Bypass del paywall confermato attivo. Servizi in background confermati in esecuzione. (Versione compressa scaricabile; originale con metadati completi verificabili disponibile su richiesta.) | Zampier Zago (registrazione video) |
| Aspetto | Android v8.33.0.0 (2025) | iOS v4.5.2 (~2012) |
|---|
| File vulnerabile | assets/html/j/articleview-mobile.js | manifest/cache/j/articleview-mobile.js |
| Sink vulnerabile | $(document.body).html(content) L95–99 | $(document.body).html(content) L97–107 |
| Sanificazione | Nessuna | Nessuna |
| Meccanismo del bridge nativo | addJavascriptInterface → PocketAndroidArticleInterface (Java) | schema URL x-ril-cmd: intercettato dal delegate di UIWebView (Objective-C) |
| Il bridge raggiunge il codice nativo | Sì | Sì |
| Rendering automatico in background | Sì — DownloadingService su BOOT_COMPLETED | No — l'articolo deve essere aperto dall'utente |
| Interazione utente richiesta | Nessuna (0-click) | Aprire l'articolo (1-click) |
| Trasporto dell'articolo | HTTPS | HTTP in chiaro (http://text.getpocket.com/v3beta/mobile) al momento dell'analisi del bundle — vettore MITM aggiuntivo nel deployment originale (endpoint offline dalla cessazione del servizio) |
| Tecnologia WebView | WebView Android moderna | UIWebView (deprecata in iOS 12; non accettata dall'App Store dal 2020) |