Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-82090-18-Years-All-Versions-CVSS-9.2-CRITICAL-The-Pocket-Forever-Day — CVE-2026-82090 · CVSS 9.2 CRÍTICO · XSS almacenado de 0 clics en Mozilla Pocket — todas las versiones (v0 → v8.33.0.0) · forever-day de 18 años · sin parche · publicado por MITRE | Kitploit
Herramientas/GitHubGitHub/funfactor1/cve-2026-82090-18-years-all-versions-cvss-9.2-critical-the-pocket-forever-day
Seguridad AndroidEscáneres de VulnerabilidadesSeguridad iOSAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebSeguridad MóvilPapers e Investigación

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Aprendizaje y Educación
GitHubfunfactor1/cve-2026-82090-18-years-all-versions-cvss-9.2-critical-the-pocket-forever-day

CVE-2026-82090-18-Years-All-Versions-CVSS-9.2-CRITICAL-The-Pocket-Forever-Day

CVE-2026-82090 · CVSS 9.2 CRÍTICO · XSS almacenado de 0 clics en Mozilla Pocket — todas las versiones (v0 → v8.33.0.0) · forever-day de 18 años · sin parche · publicado por MITRE

Ver Repositorio
21hace 15h 41mAún no revisado
Compartir

Informe de vulnerabilidad XSS 0-Click / 0-Day

CVE CVSS Status CNA Tag

Cross-Site Scripting (0-Click) que conduce al abuso del puente JavaScript en Pocket Android e iOS — CVSS 9.2 CRÍTICO

CVE-2026-82090 — Publicado por MITRE Corporation (2026-08-28)

Autor: Ing. Zampier Zago (FUNFACTOR1) División: Sección 1 — Departamento de Ciberseguridad, PS 1978 Limited Contacto: [email protected] Web: www.ps1978ltd.it Clasificación: Análisis de vulnerabilidad de seguridad — CVE-2026-82090


Aviso de contenido de doble uso: Este repositorio contiene un análisis de vulnerabilidad y una Prueba de Concepto (PoC) para un producto al final de su vida útil (EOL). La información y el código proporcionados son estrictamente para fines educativos, análisis defensivo y documentación oficial de CVE. El autor no asume ninguna responsabilidad por cualquier uso indebido de esta información.


https://github.com/user-attachments/assets/e2b0aa46-df64-452b-afbf-fa31dd8c650d

1. Resumen ejecutivo

Se ha confirmado una vulnerabilidad de Cross-Site Scripting (XSS) basada en DOM en Pocket Android versión 8.33.0.0 (paquete com.ideashower.readitlater.pro), la versión final distribuida por Mozilla / Read It Later, Inc. antes de la finalización del servicio en julio de 2025. La vulnerabilidad permite a un atacante inyectar y ejecutar JavaScript arbitrario en el WebView de la aplicación sin ninguna interacción del usuario más allá de una única acción de "Guardar en Pocket" — un exploit de 0 clics posterior a la entrega.

La causa raíz es la inyección no saneada de contenido HTML de origen externo directamente en el DOM mediante el método .html() de jQuery ($(document.body).html(content)), en el archivo incluido en los assets assets/html/j/articleview-mobile.js (líneas 95–99). El contenido se obtiene y se renderiza automáticamente en segundo plano por com.pocket.sdk.offline.DownloadingService sin requerir ninguna interacción del usuario.

La aplicación también expone un puente nativo Java-a-JavaScript (PocketAndroidArticleInterface), registrado mediante addJavascriptInterface y confirmado en classes2.dex, invocable por JavaScript que se ejecuta dentro del WebView.

Registro de divulgación al proveedor: El XSS se reportó formalmente a Mozilla Security el 2024-07-10 con clasificación CWE-79 y detalle técnico completo. Mozilla acusó recibo el 2024-07-11 y declinó explícitamente remediarlo, declarando Pocket fuera de alcance. Mozilla posteriormente lanzó la v8.33.0.0 en 2025 con el código vulnerable completamente sin cambios. El análisis forense de la v8.33.0.0 confirma la llamada vulnerable idéntica en las líneas 95–99 de articleview-mobile.js.

Linaje: La misma línea idéntica — $(document.body).html(content), en un archivo del mismo nombre articleview-mobile.js — está presente en el bundle homólogo de iOS ReadItLaterPro.app (Pocket iOS v4.5.2), que data de la era inmediatamente anterior al cambio de marca de Read It Later a Pocket el 17 de abril de 2012. El CVE abarca todas las versiones desde la v0 hasta la v8.33.0.0 — el defecto se ha distribuido de forma continua, sin modificaciones, a lo largo de toda la vida útil del producto de 18 años (véase §7). La confirmación forense a nivel de código mediante el bundle más antiguo disponible (iOS v4.5.2) data el sink idéntico al menos en 2012.

No hay parche disponible. El producto está abandonado. Todas las instancias instaladas permanecen permanentemente vulnerables.


2. Producto afectado

  • Nombre del producto: Pocket — Save. Read. Grow. (Android)
  • Nombre del paquete: com.ideashower.readitlater.pro
  • Versión de compilación: 8.33.0.0 (versión final antes del cese del servicio)
  • APK analizado: com.ideashower.readitlater.pro_8.33.0.0.apk
  • Proveedor: Read It Later, Inc. / Mozilla Corporation
  • Google Play: Despublicado de Google Play Store el 2025-05-21. La página de listado puede seguir siendo accesible en https://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro pero la aplicación ya no está disponible para su descarga.
  • Estado del servicio: TERMINADO (2025-07-08). La aplicación permanece instalada en millones de dispositivos sin desinstalación forzada, kill-switch ni actualización de seguridad desplegada. La evidencia en vídeo (2026-01-02) confirma su pleno funcionamiento — incluyendo la elusión del paywall y los servicios en segundo plano — meses después del cierre oficial.

3. Detalles de la vulnerabilidad — Problema n.º 1: XSS de 0 clics vía WebView

3.1 Clasificación de la vulnerabilidad

3.2 Componente vulnerable

Archivo: assets/html/j/articleview-mobile.js Líneas 95–99:```javascript // article content was retrieved loadCallback : function(content) { // TODO : 3.0 : If file was missing, handle that correctly $(document.body).html(content);

root@kitploit:~
**Causa raíz:** El HTML de origen externo se pasa directamente al método `.html()` de jQuery 3.4.1 sin sanitización. jQuery 3.4.1 ejecuta las etiquetas `<script>` incrustadas y los controladores de eventos en línea (`onerror`, `onload`). No existe ninguna llamada a `DOMPurify`, `sanitize()`, `escapeHtml()` o equivalente en ninguna parte del archivo de 1.836 líneas. La variable `content` se origina en la capa Java sin filtrado del lado de JS.

El comentario `// TODO : 3.0 : If file was missing, handle that correctly` que precede inmediatamente a la llamada vulnerable demuestra que el código nunca fue endurecido para producción. Este comentario estuvo presente en todas las versiones de la aplicación hasta la versión final v8.33.0.0.

### 3.3 Evidencia del puente JavaScript

**Archivo:** `assets/html/j/articleview-mobile.js`, líneas 11–14:```javascript
// Android comm object
if (typeof PocketAndroidArticleInterface == 'undefined')
    PocketAndroidArticleInterface = false;

isAndroid = !!PocketAndroidArticleInterface;

Confirmado mediante análisis de cadenas DEX (classes2.dex):``` PocketAndroidArticleInterface setJavaScriptEnabled addJavascriptInterface

root@kitploit:~
Métodos puente confirmados desde los sitios de llamada de JS: `onReady()`, `onError()`, `onScrollChanged()`, `setFrozen()`, `placePageBlockers()`, `toggleFullscreen()`, `setViewType()`, `scrollToPosition()`, `onTextSearch()`, `onRequestedHighlightPatch()`, `updatePageSwipingDisabledAreas()`, `getHorizontalMargin()`, `getMaxMediaHeight()`, `isConnected()`.

### 3.4 Servicio de sincronización en segundo plano

**AndroidManifest.xml** confirma:```xml
<service
    android:name="com.pocket.sdk.offline.DownloadingService"
    android:permission="android.permission.FOREGROUND_SERVICE_DATA_SYNC">

Con el receptor BOOT_COMPLETED registrado. El servicio obtiene y renderiza el contenido del artículo automáticamente al arrancar el dispositivo y cuando hay disponibilidad de red, activando loadCallback en un WebView oculto sin ninguna interacción del usuario.

3.5 Cadena de ataque```

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.

root@kitploit:~
## 4. Prueba de concepto```html
<!DOCTYPE html>
<html>
<body>

</body>
</html>

Pasos para reproducir:

  1. Aloja la página anterior en una URL pública.
  2. La víctima guarda la URL en Pocket (un clic — "Save to Pocket").
  3. No se requiere más interacción del usuario.
  4. DownloadingService obtiene el contenido automáticamente.
  5. El motor de paginación renderiza el artículo en un WebView oculto.
  6. loadCallback → $(document.body).html(content) → se dispara el payload.
  7. El servidor del atacante recibe los datos exfiltrados de forma silenciosa.

Nota sobre el alcance de plataforma del PoC: La prueba de concepto ejecutable anterior apunta a la compilación de Android, que es el caso de 0 clics (DownloadingService en segundo plano). La contraparte de iOS (Pocket iOS v4.5.2 / ReadItLaterPro.app) comparte el idéntico sink vulnerable loadCallback() en un archivo del mismo nombre, pero alcanza el código nativo a través de un mecanismo de puente diferente (el esquema de URL x-ril-cmd: interceptado por el delegado de UIWebView) y se degrada a un caso de 1 clic (el usuario debe abrir un artículo guardado). La evidencia de iOS se establece mediante análisis estático del paquete de la aplicación distribuida y se documenta en su totalidad en iOS_forensic_analysis_v4.5.2.md en este repositorio. No se publica un PoC ejecutable separado para iOS; el análisis del código compartido demuestra la equivalencia del sink en ambas plataformas.


5. Descomposición del vector CVSS v4.0

Vector 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

Puntuación base: 9.2 — CRÍTICA


6. Historial de comunicación con el proveedor

Todas las fechas verificadas contra la evidencia original de correo electrónico (POCKET_MAIL.pdf, POCKET_MAIL1.pdf, CRONO2.pdf).


7. Linaje — 18 años del mismo código vulnerable (2007 → 2025)

El registro CVE confirma todas las versiones desde la v0 hasta la v8.33.0.0 como afectadas. El defecto no es una regresión — es la arquitectura original del pipeline de renderizado de artículos, presente desde que Read It Later se lanzó como extensión de Firefox en 2007, trasladada a las aplicaciones móviles (Android desde 2011, iOS antes), y distribuida sin cambios hasta la versión final de Android de 2025. La confirmación forense a nivel de código del sink vulnerable idéntico se extiende hasta 2012 mediante el paquete más antiguo disponible (iOS v4.5.2).

7.1 Contraparte iOS — Pocket iOS v4.5.2 (ReadItLaterPro.app)

El paquete de la aplicación iOS se llama ReadItLaterPro.app — el nombre de producto previo al cambio de marca usado por Read It Later, Inc. antes de que la compañía renombrara públicamente la app a Pocket el 17 de abril de 2012. El paquete apunta a iOS 5.0+, situando la base de código en el período 2011–principios de 2012.

El análisis forense de este paquete de iOS confirma un patrón vulnerable idéntico carácter por carácter en un archivo con el mismo nombre que la versión de Android. El análisis forense completo de iOS — sink vulnerable, pipeline de contenido, puente nativo, inventario de telemetría y referencias de evidencia — se publica en este repositorio como iOS_forensic_analysis_v4.5.2.md.

Archivo: manifest/cache/j/articleview-mobile.js (iOS) — mismo nombre de archivo que assets/html/j/articleview-mobile.js (Android)

Líneas 97–107 (iOS):```javascript // article content was retrieved loadCallback : function(content) { // TODO : 3.0 : If file was missing, handle that correctly

root@kitploit:~
$(document.body).html(content);          // ← IDENTICAL TO ANDROID

// Add empty content to bottom in case an image is at bottom.
$(document.body).append($('<br>&nbsp;'))

this.onArticleReady();

},

root@kitploit:~
El mismo comentario `// TODO : 3.0` está presente en ambas plataformas — el mismo marcador de posición exacto, nunca retomado, a lo largo de ~13 años.

### 7.2 Base de código compartida confirmada

El paquete de iOS contiene lógica explícita de ramificación por plataforma que demuestra que Read It Later, Inc. / Mozilla distribuyó **una única base de código JavaScript compartida** a ambas plataformas:```javascript
var isAndroid;
if (typeof ReadItLaterJSMethods == 'undefined')
    ReadItLaterJSMethods = false;
isAndroid = !!ReadItLaterJSMethods;

Cuando isAndroid === false se ejecuta la ruta del puente de iOS; cuando es true se ejecuta la ruta de Android. Ambas rutas convergen en el mismo loadCallback() vulnerable sin sanitización en ninguna de las dos plataformas.

7.3 Diferencias entre plataformas

Nota sobre la cronología de UIWebView: Apple introdujo WKWebView como sucesor en iOS 8 (2014). UIWebView quedó formalmente obsoleto en iOS 12 (2018). El App Store dejó de aceptar nuevas apps que usaran UIWebView en abril de 2020 y actualizaciones de apps existentes en diciembre de 2020. UIWebView nunca fue eliminado formalmente del SDK — sigue presente pero ya no se acepta para envíos al App Store. Sus debilidades de seguridad relevantes aquí son que se ejecuta en proceso (sin proceso WebContent separado), no tiene soporte de Content Security Policy, y ejecuta JavaScript inyectado de forma síncrona en el hilo principal mediante stringByEvaluatingJavaScriptFromString:.

7.4 Implicación

Read It Later, Inc. — y posteriormente Mozilla tras la adquisición — distribuyó el mismo patrón de inyección .html() sin sanitizar, en un archivo del mismo nombre, con el mismo comentario TODO sin abordar, a lo largo de toda la vida útil del producto de 18 años (2007 → 2025), confirmado por MITRE como afectando a todas las versiones desde la v0 hasta la v8.33.0.0.

Esto incluye el período posterior al informe formal de CWE-79 del 2024-07-10. Al menos una línea de lanzamiento adicional de Android se produjo en 2024–2025 (culminando en la v8.33.0.0) con el código vulnerable preservado textualmente.


8. Análisis de causa raíz

El lector de artículos de Pocket inyecta HTML crudo de origen externo en el DOM mediante $(document.body).html(content) sin sanitización. El comentario // TODO en la línea 95 confirma que el código nunca fue endurecido para producción. Esta decisión arquitectónica estuvo presente desde las primeras compilaciones móviles (véase §7) hasta la versión final de Android v8.33.0.0 — sin cambios durante aproximadamente 13 años y al menos una transición completa de propiedad, y sin cambios tras un informe de seguridad formal en julio de 2024.

Para la cronología de la respuesta del proveedor posterior a 2024 y la secuencia precisa entre el informe formal de CWE-79, la negativa de Mozilla y la versión final sin parchear, consúltese §6.


9. Mitigaciones temporales

No existen ni se prevén mitigaciones por parte del proveedor.

Para usuarios finales: Desinstalar com.ideashower.readitlater.pro inmediatamente. Revocar las concesiones de OAuth de Google.

Para la comunidad de seguridad: Este caso califica como una vulnerabilidad "Forever-Day" — confirmada, sin parchear, en software abandonado sin ruta de remediación disponible. Apta para su clasificación bajo la etiqueta Unsupported When Assigned según la política EOL de MITRE.


10. Metodología de verificación

APK analizado: com.ideashower.readitlater.pro_8.33.0.0.apk

Herramientas: Android Studio, DEX2JAR, revisión manual de código, análisis de AXML binario (UTF-16LE), inspección de esquemas de Protocol Buffer, extracción de cadenas DEX. Bundle de iOS inspeccionado mediante extracción de cadenas y revisión del código fuente del pipeline de JavaScript embebido.

Cadena de evidencia:```

  1. APK acquired └── com.ideashower.readitlater.pro_8.33.0.0.apk

  2. 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

  3. 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

  4. 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

  5. Dynamic evidence └── Video recording 2026-01-02: app fully operational post-sunset on real device

root@kitploit:~
---

## 11. Registro CVE

**ID de CVE:** CVE-2026-82090 — Publicado el 2026-08-28 por MITRE Corporation (CNA). Enviado originalmente como CAN-2026-2030598 a través de cveform.mitre.org.

**Proveedor:** Mozilla Corporation
**Producto:** Pocket (Android)
**Versión:** 8.33.0.0
**Tipo de vulnerabilidad:** Cross-Site Scripting (XSS)

**Descripción (para 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.

Información adicional / Comunicación con el proveedor:``` 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.

root@kitploit:~
---

## 12. Referencias

- CVE-2026-82090 (registro oficial): 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
- Especificación CVSS v4.0: https://www.first.org/cvss/v4.0/specification-document
- Proceso de fin de vida (EOL) de MITRE CVE: https://www.cve.org/Resources/General/End-of-Life-EOL-Assignment-Process.pdf
- Reglas operativas de MITRE CNA: https://www.cve.org/resourcessupport/allresources/cnarules
- Comportamiento de jQuery `.html()`: https://api.jquery.com/html/
- `addJavascriptInterface` de Android: https://developer.android.com/reference/android/webkit/WebView#addJavascriptInterface(java.lang.Object,%20java.lang.String)
- Apple — obsolescencia de `UIWebView`: https://developer.apple.com/documentation/uikit/uiwebview
- Apple — Actualización de apps que usan Web Views (plazos de UIWebView en la App Store): https://developer.apple.com/news/?id=12232019b
- Read It Later → cambio de marca a Pocket (17 de abril de 2012): https://blog.getpocket.com/2012/04/introducing-the-all-new-read-it-later-now-called-pocket/

---

*Ing. Zampier Zago (FUNFACTOR1) — Sección 1 — Departamento de Ciberseguridad, PS 1978 Limited — [email protected] — [www.ps1978ltd.it](http://www.ps1978ltd.it) — https://github.com/FUNFACTOR1*
Descargar herramienta
CampoValor
CVECVE-2026-82090 — Publicado 2026-08-28 — CNA: MITRE Corporation
Tipo de vulnerabilidadXSS basado en DOM (0 clics) + Abuso del puente JavaScript
CWECWE-79, CWE-116
Estado del exploit0 clics, 0-day — sin parche disponible; producto al final de su vida útil
Respuesta del proveedor2024-07-11 — "Pocket está fuera de alcance" (Frida, Mozilla Security Team)
Producto afectadoPocket Android v8.33.0.0 (versión final)
ID del paquetecom.ideashower.readitlater.pro
ProveedorMozilla Corporation / Read It Later, Inc.
Puntuación CVSS v4.09.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
SeveridadCRÍTICA
Primer reporte al proveedor2021-04-19 (elusi��n de paywall)
XSS reportado formalmente a Mozilla Security2024-07-10
APK final lanzado con la vulnerabilidad intacta2025 — v8.33.0.0
Cese del servicio2025-07-08
Linaje del código18 años — todas las versiones (v0 → v8.33.0.0, 2007 → 2025). Confirmación forense del código desde el bundle de iOS de 2012.
CampoValor
TipoCross-Site Scripting basado en DOM
CWECWE-79 — Neutralización incorrecta de la entrada durante la generación de páginas web
CWE secundarioCWE-116 — Codificación o escape incorrectos de la salida
Vector de ataqueRemoto, 0 clics (cero interacción del usuario posterior a la entrega)
Privilegios requeridosNinguno
AlcanceModificado — el contexto del WebView cruza el límite de confianza hacia el puente nativo de Android
MétricaValorJustificación
Attack Vector (AV)Network (N)Payload entregado y ejecutado vía internet
Attack Complexity (AC)Low (L)Sin condiciones de carrera ni protecciones de memoria que eludir
Attack Requirements (AT)Present (P)El usuario debe haber guardado al menos un artículo antes del ataque para activar la sincronización en segundo plano
Privileges Required (PR)None (N)No se requiere autenticación en el objetivo
User Interaction (UI)None (N)Ejecución automática vía servicio en segundo plano tras el guardado
Vuln. Confidentiality (VC)High (H)Tokens de sesión, base de datos de artículos, hábitos de lectura expuestos
Vuln. Integrity (VI)High (H)JS puede alterar el estado de la app vía métodos del puente nativo
Vuln. Availability (VA)High (H)La disponibilidad del servicio en segundo plano puede verse interrumpida
Subsequent (SC / SI / SA)None (N)Impacto demostrado contenido dentro del límite de confianza del Android Application Sandbox / WebView. No se ha probado ningún pivote a un sistema subsiguiente separado; SC/SI/SA establecidos conservadoramente en None para evitar exagerar
Remediation Level (RL)Unavailable (U)Producto abandonado; no se espera parche
FechaEventoFuente / Partes
2021-04-19Reporte inicial a Pocket Support: elusión de paywall que permite sortear los controles de acceso de editores en sitios de noticias italianos. Se proporcionaron video, capturas de pantalla y URLs de ejemplo.Zampier Zago → [email protected]
2021-04-22Respuesta de Pocket Support: solicitaron URLs específicas y capturas de pantalla.Pocket Support (Manuel) → Zampier Zago
2021-05-17El investigador proporcionó dos URLs de PoC en vivo que demostraban la elusión completa del contenido.Zampier Zago → [email protected]
2021–2024Ninguna acción adicional del proveedor. Posición inicial del proveedor: "no es debido a Pocket". El investigador dudó de su propio hallazgo durante tres años dada la rechazo definitivo.—
~junio 2024El investigador realiza análisis del APK, identifica XSS en WebView (articleview-mobile.js), vector de abuso del puente JavaScript, CWE-79 / CWE-200 / CWE-693.Zampier Zago
2024-05-31Caso reabierto formalmente. Confirmación pública de terceros de idéntica elusión de paywall (bardeen.ai). El investigador hace referencia al reporte original de 2021.Zampier Zago → [email protected]
2024-06-06Pocket Support (Alejandra Galo): escalado internamente, sin fix comprometido. "Nuestro Parser no está diseñado para eludir dichos Paywalls."Pocket Support → Zampier Zago
2024-07-02El investigador envía un seguimiento formal al Pocket/Mozilla Security Team vía ticket de soporte #151540, referenciando explícitamente el primer reporte de 2021 y solicitando reconocimiento formal.Zampier Zago → [email protected]
2024-07-04, 13:18 CSTPocket Support (Dayana Galeano): redirige a [email protected]. "Dado que estás reportando una vulnerabilidad de seguridad, te animaría a contactar a [email protected] en su lugar."Pocket Support → Zampier Zago
2024-07-10, 21:05El investigador envía el reporte técnico de seguridad completo a Mozilla Security ([email protected]) incluyendo CWE-79 (XSS), CWE-200 (exposición de información), CWE-693 (fallo del mecanismo de protección), ejemplos de solicitud/respuesta HTTP, demostración del payload XSS y análisis de impacto.Zampier Zago → [email protected]
2024-07-11, 09:32Respuesta de Mozilla Security (Frida): "Pocket está fuera del alcance de nuestro programa de bug bounty web y solo aceptamos reportes con severidad crítica." Solicita envíos individuales a HackerOne. Sin fix comprometido.Mozilla Security Team → Zampier Zago
2024-07-24, 19:00Mozilla Privacy Team ([email protected]): redirige al formulario de bug bounty. Sin participación sustantiva.Mozilla Privacy Team → Zampier Zago
2025Mozilla publica v8.33.0.0 como la versión final de Pocket Android antes del cierre del servicio. El código vulnerable en articleview-mobile.js (líneas 95–99) es idéntico y no modificado. No se desplegó ningún parche de seguridad. Sin kill-switch ni desinstalación forzada.Mozilla (público)
2025-07-08El servicio Pocket finaliza oficialmente. La aplicación permanece instalada y operativa en los dispositivos de los usuarios.Mozilla (público)
2026-01-02Evidencia en video grabada en dispositivo real: Pocket Android v8.33.0.0 totalmente operativo meses después de la finalización del servicio. Elusión de paywall confirmada activa. Servicios en segundo plano confirmados en ejecución. (Versión comprimida descargable; original con metadatos completos verificables disponible bajo solicitud.)Zampier Zago (grabación de video)
AspectoAndroid v8.33.0.0 (2025)iOS v4.5.2 (~2012)
Archivo vulnerableassets/html/j/articleview-mobile.jsmanifest/cache/j/articleview-mobile.js
Sink vulnerable$(document.body).html(content) L95–99$(document.body).html(content) L97–107
SanitizaciónNingunaNinguna
Mecanismo de puente nativoaddJavascriptInterface → PocketAndroidArticleInterface (Java)Esquema de URL x-ril-cmd: interceptado por el delegado de UIWebView (Objective-C)
El puente alcanza código nativoSíSí
Autorrenderizado en segundo planoSí — DownloadingService en BOOT_COMPLETEDNo — el artículo debe ser abierto por el usuario
Interacción del usuario requeridaNinguna (0-click)Abrir artículo (1-click)
Transporte del artículoHTTPSHTTP en texto plano (http://text.getpocket.com/v3beta/mobile) en el momento del análisis del bundle — vector MITM adicional en el despliegue original (endpoint fuera de línea desde la finalización del servicio)
Tecnología WebViewWebView moderno de AndroidUIWebView (obsoleto desde iOS 12; no aceptado por el App Store desde 2020)