
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
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
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.
com.ideashower.readitlater.procom.ideashower.readitlater.pro_8.33.0.0.apkhttps://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro mais l'application n'est plus disponible au téléchargement.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);
**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
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.
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. Preuve de concept```html
<!DOCTYPE html>
<html>
<body>
</body>
</html>
Étapes de reproduction :
DownloadingService récupère le contenu automatiquement.loadCallback → $(document.body).html(content) → la charge utile se déclenche.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 (
DownloadingServiceen arrière-plan). Son homologue iOS (Pocket iOS v4.5.2 /ReadItLaterPro.app) partage le même sink vulnérableloadCallback()dans un fichier du même nom, mais atteint le code natif via un mécanisme de pont différent (le schéma d'URLx-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 dansiOS_forensic_analysis_v4.5.2.mddans 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.
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
Toutes les dates sont vérifiées par rapport aux preuves électroniques originales (POCKET_MAIL.pdf, POCKET_MAIL1.pdf, CRONO2.pdf).
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).
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
$(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();
},
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.
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:.
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.
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.
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.
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 :```
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. 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.
---
## 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*
| Champ | Valeur |
|---|
| CVE | CVE-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 |
| CWE | CWE-79, CWE-116 |
| Statut de l'exploit | 0-click, 0-day — aucun correctif disponible ; produit en fin de vie |
| Réponse du fournisseur | 2024-07-11 — « Pocket is out of scope » (Frida, Mozilla Security Team) |
| Produit affecté | Pocket Android v8.33.0.0 (version finale) |
| ID du package | com.ideashower.readitlater.pro |
| Fournisseur | Mozilla Corporation / Read It Later, Inc. |
| Score 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 |
| Sévérité | CRITICAL |
| Premier signalement au fournisseur | 2021-04-19 (contournement de paywall) |
| XSS formellement signalé à Mozilla Security | 2024-07-10 |
| Dernier APK publié avec la vulnérabilité intacte | 2025 — v8.33.0.0 |
| Arrêt du service | 2025-07-08 |
| Filiation du code | 18 ans — toutes les versions (v0 → v8.33.0.0, 2007 → 2025). Confirmation forensique du code depuis le bundle iOS de 2012. |
| Champ | Valeur |
|---|
| Type | Cross-Site Scripting basé sur le DOM |
| CWE | CWE-79 — Neutralisation incorrecte de l'entrée lors de la génération de pages web |
| CWE secondaire | CWE-116 — Encodage ou échappement incorrect de la sortie |
| Vecteur d'attaque | À distance, 0-click (aucune interaction de l'utilisateur après livraison) |
| Privilèges requis | Aucun |
| Portée | Modifiée — le contexte du WebView franchit la frontière de confiance vers le pont natif Android |
| Métrique | Valeur | Justification |
|---|
| 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énement | Source / Parties |
|---|
| 2021-04-19 | Rapport 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-22 | Réponse du support Pocket : demande d'URL spécifiques et de captures d'écran. | Support Pocket (Manuel) → Zampier Zago |
| 2021-05-17 | Le chercheur fournit deux URL de PoC en direct démontrant le contournement complet du contenu. | Zampier Zago → [email protected] |
| 2021–2024 | Aucune 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 2024 | Le 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-31 | Le 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-06 | Support 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-02 | Le 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 CST | Support 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:05 | Le 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:32 | Ré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 |
| 2025 | Mozilla 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-08 | Le service Pocket est officiellement arrêté. L'application reste installée et opérationnelle sur les appareils des utilisateurs. | Mozilla (public) |
| 2026-01-02 | Preuve 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) |
| Aspect | Android v8.33.0.0 (2025) | iOS v4.5.2 (~2012) |
|---|
| Fichier vulnérable | assets/html/j/articleview-mobile.js | manifest/cache/j/articleview-mobile.js |
| Point de terminaison vulnérable | $(document.body).html(content) L95–99 | $(document.body).html(content) L97–107 |
| Sanitisation | Aucune | Aucune |
| Mécanisme de pont natif | addJavascriptInterface → PocketAndroidArticleInterface (Java) | Schéma d'URL x-ril-cmd: intercepté par le délégué UIWebView (Objective-C) |
| Le pont atteint le code natif | Oui | Oui |
| Rendu automatique en arrière-plan | Oui — DownloadingService sur BOOT_COMPLETED | Non — l'article doit être ouvert par l'utilisateur |
| Interaction utilisateur requise | Aucune (0 clic) | Ouvrir l'article (1 clic) |
| Transport de l'article | HTTPS | HTTP 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 WebView | WebView Android moderne | UIWebView (déprécié dans iOS 12 ; non accepté par l'App Store depuis 2020) |