Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-82090-18-Years-All-Versions-CVSS-9.2-CRITICAL-The-Pocket-Forever-Day — CVE-2026-82090 · CVSS 9.2 CRITIQUE · XSS stocké 0-clic dans Mozilla Pocket — toutes les versions (v0 → v8.33.0.0) · faille de 18 ans · aucun correctif · publié par MITRE | Kitploit
Outils/GitHubGitHub/funfactor1/cve-2026-82090-18-years-all-versions-cvss-9.2-critical-the-pocket-forever-day
Sécurité AndroidScanners de VulnérabilitésSécurité iOSAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebSécurité MobileArticles et Recherche

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Apprentissage et Éducation
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 CRITIQUE · XSS stocké 0-clic dans Mozilla Pocket — toutes les versions (v0 → v8.33.0.0) · faille de 18 ans · aucun correctif · publié par MITRE

Voir le dépôt
21il y a 15h 41mPas encore vérifié
Partager

Rapport de vulnérabilité XSS 0-Click / 0-Day

CVE CVSS Status CNA Tag

Cross-Site Scripting (0-Click) menant à un abus du pont JavaScript dans Pocket Android & iOS — CVSS 9.2 CRITICAL

CVE-2026-82090 — Publié par MITRE Corporation (2026-08-28)

Auteur : Ing. Zampier Zago (FUNFACTOR1) Division : Section 1 — Département de cybersécurité, PS 1978 Limited Contact : [email protected] Web : www.ps1978ltd.it Classification : Analyse de vulnérabilité de sécurité — CVE-2026-82090


Avertissement sur le contenu à double usage : Ce dépôt contient une analyse de vulnérabilité et une preuve de concept (PoC) pour un produit en fin de vie (EOL). Les informations et le code fournis sont strictement destinés à des fins éducatives, d'analyse défensive et de documentation officielle de CVE. L'auteur décline toute responsabilité quant à une quelconque utilisation abusive de ces informations.


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

1. Résumé exécutif

Une vulnérabilité de Cross-Site Scripting (XSS) basée sur le DOM a été confirmée dans Pocket Android version 8.33.0.0 (package com.ideashower.readitlater.pro), la version finale livrée par Mozilla / Read It Later, Inc. avant l'arrêt du service en juillet 2025. La vulnérabilité permet à un attaquant d'injecter et d'exécuter du JavaScript arbitraire dans le WebView de l'application sans aucune interaction de l'utilisateur au-delà d'une simple action « Save to Pocket » — un exploit 0-click après livraison.

La cause racine est l'injection non assainie de contenu HTML provenant de sources externes directement dans le DOM via la méthode .html() de jQuery ($(document.body).html(content)), dans le fichier intégré aux assets assets/html/j/articleview-mobile.js (lignes 95–99). Le contenu est récupéré et rendu automatiquement en arrière-plan par com.pocket.sdk.offline.DownloadingService sans aucune interaction de l'utilisateur requise.

L'application expose également un pont natif Java-vers-JavaScript (PocketAndroidArticleInterface), enregistré via addJavascriptInterface et confirmé dans classes2.dex, appelable par du JavaScript s'exécutant dans le WebView.

Historique de divulgation au fournisseur : Le XSS a été formellement signalé à Mozilla Security le 2024-07-10 avec une classification CWE-79 et l'ensemble des détails techniques. Mozilla a accusé réception le 2024-07-11 et a explicitement refusé de corriger, déclarant Pocket hors périmètre. Mozilla a par la suite publié la v8.33.0.0 en 2025 avec le code vulnérable entièrement inchangé. L'analyse forensique de la v8.33.0.0 confirme l'appel vulnérable identique aux lignes 95–99 de articleview-mobile.js.

Filiation : La même ligne identique — $(document.body).html(content), dans un fichier du même nom articleview-mobile.js — est présente dans le bundle iOS homologue ReadItLaterPro.app (Pocket iOS v4.5.2), datant de l'époque précédant immédiatement le changement de marque de Read It Later en Pocket le 17 avril 2012. La CVE couvre toutes les versions de la v0 à la v8.33.0.0 — le défaut a été livré en continu, sans modification, sur toute la durée de vie de 18 ans du produit (voir §7). La confirmation forensique au niveau du code via le plus ancien bundle disponible (iOS v4.5.2) date le sink identique à au moins 2012.

Aucun correctif n'est disponible. Le produit est abandonné. Toutes les instances installées restent vulnérables de façon permanente.


2. Produit affecté

  • Nom du produit : Pocket — Save. Read. Grow. (Android)
  • Nom du package : com.ideashower.readitlater.pro
  • Version de build : 8.33.0.0 (version finale avant l'arrêt du service)
  • APK analysé : com.ideashower.readitlater.pro_8.33.0.0.apk
  • Fournisseur : Read It Later, Inc. / Mozilla Corporation
  • Google Play : Dépublié du Google Play Store le 2025-05-21. La page de l'application peut encore être accessible à l'adresse https://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro mais l'application n'est plus disponible au téléchargement.
  • Statut du service : TERMINÉ (2025-07-08). L'application reste installée sur des millions d'appareils sans désinstallation forcée, kill-switch ou mise à jour de sécurité déployée. Des preuves vidéo (2026-01-02) confirment son fonctionnement complet — y compris le contournement du paywall et les services en arrière-plan — plusieurs mois après l'arrêt officiel.

3. Détails de la vulnérabilité — Problème n°1 : XSS 0-click via WebView

3.1 Classification de la vulnérabilité

3.2 Composant vulnérable

Fichier : assets/html/j/articleview-mobile.js Lignes 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:~
**Cause racine :** Du HTML provenant d'une source externe est transmis directement à la méthode `.html()` de jQuery 3.4.1 sans aucune désinfection. jQuery 3.4.1 exécute les balises `<script>` intégrées et les gestionnaires d'événements en ligne (`onerror`, `onload`). Aucun appel à `DOMPurify`, `sanitize()`, `escapeHtml()` ou équivalent n'existe nulle part dans le fichier de 1 836 lignes. La variable `content` provient de la couche Java sans filtrage côté JS.

Le commentaire `// TODO : 3.0 : If file was missing, handle that correctly` précédant immédiatement l'appel vulnérable démontre que le code n'a jamais été durci pour la production. Ce commentaire était présent dans chaque version de l'application jusqu'à la version finale v8.33.0.0.

### 3.3 Preuves du pont JavaScript

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

isAndroid = !!PocketAndroidArticleInterface;

Confirmé via l'analyse des chaînes DEX (classes2.dex) :``` PocketAndroidArticleInterface setJavaScriptEnabled addJavascriptInterface

root@kitploit:~
Méthodes de pont confirmées depuis les sites d'appel JS : `onReady()`, `onError()`, `onScrollChanged()`, `setFrozen()`, `placePageBlockers()`, `toggleFullscreen()`, `setViewType()`, `scrollToPosition()`, `onTextSearch()`, `onRequestedHighlightPatch()`, `updatePageSwipingDisabledAreas()`, `getHorizontalMargin()`, `getMaxMediaHeight()`, `isConnected()`.

### 3.4 Service de synchronisation en arrière-plan

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

Avec le récepteur BOOT_COMPLETED enregistré. Le service récupère et affiche automatiquement le contenu de l'article au démarrage de l'appareil et à la disponibilité du réseau, déclenchant loadCallback dans une WebView cachée sans aucune interaction de l'utilisateur.

3.5 Chaîne d'attaque```

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. Preuve de concept```html
<!DOCTYPE html>
<html>
<body>

</body>
</html>

Étapes de reproduction :

  1. Héberger la page ci-dessus à une URL publique.
  2. La victime enregistre l'URL dans Pocket (un clic — « Save to Pocket »).
  3. Aucune interaction supplémentaire de l'utilisateur n'est requise.
  4. DownloadingService récupère le contenu automatiquement.
  5. Le moteur de pagination affiche l'article dans une WebView masquée.
  6. loadCallback → $(document.body).html(content) → la charge utile se déclenche.
  7. Le serveur de l'attaquant reçoit les données exfiltrées silencieusement.

Note sur la portée de la plateforme du PoC : La preuve de concept exécutable ci-dessus cible la version Android, qui correspond au cas 0-clic (DownloadingService en arrière-plan). Son homologue iOS (Pocket iOS v4.5.2 / ReadItLaterPro.app) partage le même sink vulnérable loadCallback() dans un fichier du même nom, mais atteint le code natif via un mécanisme de pont différent (le schéma d'URL x-ril-cmd: intercepté par le délégué UIWebView) et se dégrade en un cas 1-clic (l'utilisateur doit ouvrir un article enregistré). Les preuves iOS sont établies par analyse statique du bundle de l'application livrée et sont documentées intégralement dans iOS_forensic_analysis_v4.5.2.md dans ce dépôt. Aucun PoC iOS exécutable distinct n'est publié ; l'analyse du code partagé démontre l'équivalence du sink entre les deux plateformes.


5. Décomposition du vecteur CVSS v4.0

Vecteur complet : 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

Score de base : 9.2 — CRITIQUE


6. Historique des communications avec l'éditeur

Toutes les dates sont vérifiées par rapport aux preuves électroniques originales (POCKET_MAIL.pdf, POCKET_MAIL1.pdf, CRONO2.pdf).


7. Filiation — 18 ans du même code vulnérable (2007 → 2025)

L'enregistrement CVE confirme toutes les versions de la v0 à la v8.33.0.0 comme affectées. Le défaut n'est pas une régression — c'est l'architecture originale du pipeline de rendu d'articles, présente depuis le lancement de Read It Later en tant qu'extension Firefox en 2007, transportée dans les applications mobiles (Android à partir de 2011, iOS plus tôt), et livrée inchangée jusqu'à la version finale Android de 2025. La confirmation forensique au niveau du code du sink vulnérable identique remonte à 2012 via le plus ancien bundle disponible (iOS v4.5.2).

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

Le bundle de l'application iOS est nommé ReadItLaterPro.app — le nom de produit d'avant le rebranding utilisé par Read It Later, Inc. avant que la société ne renomme publiquement l'application en Pocket le 17 avril 2012. Le bundle cible iOS 5.0+, ce qui situe la base de code dans la période 2011–début 2012.

L'analyse forensique de ce bundle iOS confirme un motif vulnérable identique caractère pour caractère dans un fichier portant le même nom que la version Android. L'analyse forensique iOS complète — sink vulnérable, pipeline de contenu, pont natif, inventaire de télémétrie et références de preuves — est publiée dans ce dépôt sous iOS_forensic_analysis_v4.5.2.md.

Fichier : manifest/cache/j/articleview-mobile.js (iOS) — même nom de fichier que assets/html/j/articleview-mobile.js (Android)

Lignes 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:~
Le même commentaire `// TODO : 3.0` est présent sur les deux plateformes — exactement le même espace réservé, jamais suivi d'effet, sur environ 13 ans.

### 7.2 Base de code partagée confirmée

Le bundle iOS contient une logique explicite de branchement par plateforme qui prouve que Read It Later, Inc. / Mozilla a livré **une seule base de code JavaScript partagée** aux deux plateformes :```javascript
var isAndroid;
if (typeof ReadItLaterJSMethods == 'undefined')
    ReadItLaterJSMethods = false;
isAndroid = !!ReadItLaterJSMethods;

Lorsque isAndroid === false, le chemin du pont iOS s'exécute ; lorsque true, le chemin Android s'exécute. Les deux chemins convergent vers le même loadCallback() vulnérable sans aucune sanitisation sur l'une ou l'autre plateforme.

7.3 Différences entre les plateformes

Note sur la chronologie d'UIWebView : Apple a introduit WKWebView comme successeur dans iOS 8 (2014). UIWebView a été formellement déprécié dans iOS 12 (2018). L'App Store a cessé d'accepter les nouvelles applications utilisant UIWebView en avril 2020 et les mises à jour d'applications existantes en décembre 2020. UIWebView n'a jamais été formellement retiré du SDK — il reste présent mais n'est plus accepté pour les soumissions à l'App Store. Ses faiblesses de sécurité pertinentes ici sont qu'il s'exécute dans le processus (pas de processus WebContent séparé), ne prend pas en charge la Content Security Policy, et exécute le JavaScript injecté de manière synchrone sur le thread principal via stringByEvaluatingJavaScriptFromString:.

7.4 Implication

Read It Later, Inc. — puis Mozilla après l'acquisition — a livré le même modèle d'injection .html() non sanitisé, dans un fichier du même nom, avec le même commentaire TODO non traité, sur toute la durée de vie de 18 ans du produit (2007 → 2025), confirmé par MITRE comme affectant toutes les versions de la v0 à la v8.33.0.0.

Cela inclut la période postérieure au rapport formel CWE-79 du 2024-07-10. Au moins une ligne de version Android supplémentaire a été produite en 2024–2025 (aboutissant à la v8.33.0.0) avec le code vulnérable préservé mot pour mot.


8. Analyse des causes profondes

Le lecteur d'articles de Pocket injecte du HTML brut provenant de sources externes dans le DOM via $(document.body).html(content) sans aucune sanitisation. Le commentaire // TODO à la ligne 95 confirme que le code n'a jamais été durci pour la production. Ce choix architectural était présent depuis les premières versions mobiles (voir §7) jusqu'à la version Android finale v8.33.0.0 — inchangé pendant environ 13 ans et au moins une transition complète de propriété, et inchangé après un rapport de sécurité formel en juillet 2024.

Pour la chronologie de la réponse du fournisseur après 2024 et la séquence précise entre le rapport formel CWE-79, le refus de Mozilla et la version finale non corrigée, se référer au §6.


9. Atténuations temporaires

Aucune atténuation du fournisseur n'existe ni n'est à venir.

Pour les utilisateurs finaux : Désinstallez immédiatement com.ideashower.readitlater.pro. Révoquez les autorisations Google OAuth.

Pour la communauté de la sécurité : Ce cas relève d'une vulnérabilité « Forever-Day » — confirmée, non corrigée, dans un logiciel abandonné sans voie de remédiation disponible. Susceptible d'être classé sous le tag Unsupported When Assigned selon la politique EOL de MITRE.


10. Méthodologie de vérification

APK analysé : com.ideashower.readitlater.pro_8.33.0.0.apk

Outils : Android Studio, DEX2JAR, revue manuelle du code, analyse binaire AXML (UTF-16LE), inspection du schéma Protocol Buffer, extraction de chaînes DEX. Bundle iOS inspecté via extraction de chaînes et revue du code source du pipeline JavaScript embarqué.

Chaîne de preuves :```

  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. Enregistrement CVE

**ID CVE :** CVE-2026-82090 — Publié le 2026-08-28 par MITRE Corporation (CNA). Initialement soumis sous CAN-2026-2030598 via cveform.mitre.org.

**Éditeur :** Mozilla Corporation
**Produit :** Pocket (Android)
**Version :** 8.33.0.0
**Type de vulnérabilité :** Cross-Site Scripting (XSS)

**Description (pour 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.

Informations complémentaires / Communication avec le fournisseur :``` 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. Références

- CVE-2026-82090 (enregistrement officiel) : 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
- Spécification CVSS v4.0 : https://www.first.org/cvss/v4.0/specification-document
- Processus de fin de vie (EOL) des CVE du MITRE : https://www.cve.org/Resources/General/End-of-Life-EOL-Assignment-Process.pdf
- Règles opérationnelles des CNA du MITRE : https://www.cve.org/resourcessupport/allresources/cnarules
- Comportement de `.html()` de jQuery : https://api.jquery.com/html/
- `addJavascriptInterface` d'Android : https://developer.android.com/reference/android/webkit/WebView#addJavascriptInterface(java.lang.Object,%20java.lang.String)
- Apple — dépréciation de `UIWebView` : https://developer.apple.com/documentation/uikit/uiwebview
- Apple — Mise à jour des apps utilisant des vues web (échéances App Store pour UIWebView) : https://developer.apple.com/news/?id=12232019b
- Read It Later → changement de nom en Pocket (17 avril 2012) : https://blog.getpocket.com/2012/04/introducing-the-all-new-read-it-later-now-called-pocket/

---

*Ing. Zampier Zago (FUNFACTOR1) — Section 1 — Department of Cyber Security, PS 1978 Limited — [email protected] — [www.ps1978ltd.it](http://www.ps1978ltd.it) — https://github.com/FUNFACTOR1*
Télécharger l’outil
ChampValeur
CVECVE-2026-82090 — Publié le 2026-08-28 — CNA : MITRE Corporation
Type de vulnérabilitéXSS basé sur le DOM (0-click) + abus du pont JavaScript
CWECWE-79, CWE-116
Statut de l'exploit0-click, 0-day — aucun correctif disponible ; produit en fin de vie
Réponse du fournisseur2024-07-11 — « Pocket is out of scope » (Frida, Mozilla Security Team)
Produit affectéPocket Android v8.33.0.0 (version finale)
ID du packagecom.ideashower.readitlater.pro
FournisseurMozilla Corporation / Read It Later, Inc.
Score 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
SévéritéCRITICAL
Premier signalement au fournisseur2021-04-19 (contournement de paywall)
XSS formellement signalé à Mozilla Security2024-07-10
Dernier APK publié avec la vulnérabilité intacte2025 — v8.33.0.0
Arrêt du service2025-07-08
Filiation du code18 ans — toutes les versions (v0 → v8.33.0.0, 2007 → 2025). Confirmation forensique du code depuis le bundle iOS de 2012.
ChampValeur
TypeCross-Site Scripting basé sur le DOM
CWECWE-79 — Neutralisation incorrecte de l'entrée lors de la génération de pages web
CWE secondaireCWE-116 — Encodage ou échappement incorrect de la sortie
Vecteur d'attaqueÀ distance, 0-click (aucune interaction de l'utilisateur après livraison)
Privilèges requisAucun
PortéeModifiée — le contexte du WebView franchit la frontière de confiance vers le pont natif Android
MétriqueValeurJustification
Vecteur d'attaque (AV)Réseau (N)Charge utile livrée et exécutée via Internet
Complexité d'attaque (AC)Faible (L)Aucune condition de course ni protection mémoire à contourner
Exigences d'attaque (AT)Présentes (P)L'utilisateur doit avoir enregistré au moins un article avant l'attaque pour déclencher la synchronisation en arrière-plan
Privilèges requis (PR)Aucun (N)Aucune authentification requise sur la cible
Interaction utilisateur (UI)Aucune (N)Exécution automatique via le service en arrière-plan après l'enregistrement
Confidentialité vuln. (VC)Élevée (H)Jetons de session, base de données d'articles, habitudes de lecture exposés
Intégrité vuln. (VI)Élevée (H)Le JS peut altérer l'état de l'application via les méthodes du pont natif
Disponibilité vuln. (VA)Élevée (H)La disponibilité du service en arrière-plan peut être perturbée
Subséquent (SC / SI / SA)Aucun (N)Impact démontré contenu dans le bac à sable de l'application Android / la frontière de confiance de la WebView. Aucun pivot vers un système subséquent distinct n'a été prouvé ; SC/SI/SA fixés à None par prudence pour éviter toute surinterprétation
Niveau de remédiation (RL)Indisponible (U)Produit abandonné ; aucun correctif à venir
DateÉvénementSource / Parties
2021-04-19Rapport initial au support Pocket : contournement de paywall permettant de contourner les contrôles d'accès des éditeurs sur des sites d'actualités italiens. Vidéo, captures d'écran et URL d'exemple fournies.Zampier Zago → [email protected]
2021-04-22Réponse du support Pocket : demande d'URL spécifiques et de captures d'écran.Support Pocket (Manuel) → Zampier Zago
2021-05-17Le chercheur fournit deux URL de PoC en direct démontrant le contournement complet du contenu.Zampier Zago → [email protected]
2021–2024Aucune action supplémentaire de l'éditeur. Position initiale de l'éditeur : « pas de la responsabilité de Pocket ». Le chercheur a douté de sa propre découverte pendant trois ans compte tenu du rejet définitif.—
~juin 2024Le chercheur effectue une analyse de l'APK, identifie une XSS dans la WebView (articleview-mobile.js), un vecteur d'abus du pont JavaScript, CWE-79 / CWE-200 / CWE-693.Zampier Zago
2024-05-31Le dossier est formellement rouvert. Confirmation publique par un tiers d'un contournement de paywall identique (bardeen.ai). Le chercheur fait référence au rapport initial de 2021.Zampier Zago → [email protected]
2024-06-06Support Pocket (Alejandra Galo) : escaladé en interne, aucun correctif engagé. « Notre Parser n'est pas conçu pour contourner lesdits Paywalls. »Support Pocket → Zampier Zago
2024-07-02Le chercheur envoie une relance formelle à l'équipe de sécurité Pocket/Mozilla via le ticket de support #151540, en référençant explicitement le premier rapport de 2021 et en demandant une reconnaissance formelle.Zampier Zago → [email protected]
2024-07-04, 13:18 CSTSupport Pocket (Dayana Galeano) : redirige vers [email protected]. « Puisque vous signalez une vulnérabilité de sécurité, je vous encourage à contacter plutôt [email protected]. »Support Pocket → Zampier Zago
2024-07-10, 21:05Le chercheur soumet un rapport de sécurité technique complet à Mozilla Security ([email protected]) incluant CWE-79 (XSS), CWE-200 (exposition d'informations), CWE-693 (défaillance du mécanisme de protection), des exemples de requêtes/réponses HTTP, une démonstration de charge utile XSS et une analyse d'impact.Zampier Zago → [email protected]
2024-07-11, 09:32Réponse de Mozilla Security (Frida) : « Pocket est hors du périmètre de notre programme de bug bounty web et nous n'acceptons que les rapports de sévérité critique. » Demande de soumissions individuelles sur HackerOne. Aucun correctif engagé.Équipe de sécurité Mozilla → Zampier Zago
2024-07-24, 19:00Équipe confidentialité Mozilla ([email protected]) : redirige vers le formulaire de bug bounty. Aucun engagement substantiel.Équipe confidentialité Mozilla → Zampier Zago
2025Mozilla publie la v8.33.0.0 comme version finale de Pocket Android avant l'arrêt du service. Le code vulnérable dans articleview-mobile.js (lignes 95–99) est identique et non modifié. Aucun correctif de sécurité déployé. Aucun kill-switch ni désinstallation forcée.Mozilla (public)
2025-07-08Le service Pocket est officiellement arrêté. L'application reste installée et opérationnelle sur les appareils des utilisateurs.Mozilla (public)
2026-01-02Preuve vidéo enregistrée sur un appareil réel : Pocket Android v8.33.0.0 pleinement opérationnel des mois après l'arrêt du service. Contournement de paywall confirmé actif. Services en arrière-plan confirmés en fonctionnement. (Version compressée téléchargeable ; original avec métadonnées complètes vérifiables disponible sur demande.)Zampier Zago (enregistrement vidéo)
AspectAndroid v8.33.0.0 (2025)iOS v4.5.2 (~2012)
Fichier vulnérableassets/html/j/articleview-mobile.jsmanifest/cache/j/articleview-mobile.js
Point de terminaison vulnérable$(document.body).html(content) L95–99$(document.body).html(content) L97–107
SanitisationAucuneAucune
Mécanisme de pont natifaddJavascriptInterface → PocketAndroidArticleInterface (Java)Schéma d'URL x-ril-cmd: intercepté par le délégué UIWebView (Objective-C)
Le pont atteint le code natifOuiOui
Rendu automatique en arrière-planOui — DownloadingService sur BOOT_COMPLETEDNon — l'article doit être ouvert par l'utilisateur
Interaction utilisateur requiseAucune (0 clic)Ouvrir l'article (1 clic)
Transport de l'articleHTTPSHTTP en clair (http://text.getpocket.com/v3beta/mobile) au moment de l'analyse du bundle — vecteur MITM supplémentaire dans le déploiement d'origine (point de terminaison hors ligne depuis l'arrêt du service)
Technologie WebViewWebView Android moderneUIWebView (déprécié dans iOS 12 ; non accepté par l'App Store depuis 2020)