
CVE-2026-82090 · CVSS 9.2 クリティカル · Mozilla Pocket における 0-click ストアド XSS — 全バージョン (v0 → v8.33.0.0) · 18年間の forever-day · パッチなし · MITRE 公開
著者: Ing. Zampier Zago (FUNFACTOR1) 部門: Section 1 — Department of Cyber Security, PS 1978 Limited 連絡先: [email protected] Web: www.ps1978ltd.it 分類: セキュリティ脆弱性分析 — CVE-2026-82090
デュアルユースコンテンツに関する免責事項: 本リポジトリには、End-of-Life (EOL) 製品の脆弱性分析および概念実証 (PoC) が含まれています。提供される情報およびコードは、教育目的、防御的分析、および公式 CVE ドキュメント作成に厳密に限定されています。著者は、本情報のいかなる誤用に対しても責任を負いません。
https://github.com/user-attachments/assets/e2b0aa46-df64-452b-afbf-fa31dd8c650d
DOM ベースのクロスサイトスクリプティング (XSS) 脆弱性が、Pocket Android バージョン 8.33.0.0(パッケージ com.ideashower.readitlater.pro)で確認されました。これは、2025 年 7 月のサービス終了前に Mozilla / Read It Later, Inc. が提供した最終リリースです。この脆弱性により、攻撃者は「Save to Pocket」の 1 回の操作以外にユーザーの介入を必要とせず、アプリケーションの WebView 内で任意の JavaScript を注入および実行できます — 配信後の 0-click エクスプロイトです。
根本原因は、アセットにバンドルされたファイル assets/html/j/articleview-mobile.js(95~99 行目)において、外部から取得した HTML コンテンツが jQuery の .html() メソッド($(document.body).html(content))を介して DOM に直接、サニタイズされずに注入されることです。コンテンツは com.pocket.sdk.offline.DownloadingService によってバックグラウンドで自動的に取得およびレンダリングされ、ユーザーの操作は一切不要です。
また、このアプリケーションはネイティブの Java-to-JavaScript ブリッジ(PocketAndroidArticleInterface)を公開しており、addJavascriptInterface を介して登録され、classes2.dex で確認されており、WebView 内で実行される JavaScript から呼び出すことができます。
ベンダー開示記録: この XSS は 2024-07-10 に CWE-79 分類および完全な技術的詳細とともに Mozilla Security へ正式に報告されました。Mozilla は 2024-07-11 に受領を確認し、Pocket を対象外と宣言して、修復を明示的に拒否しました。Mozilla はその後 2025 年に v8.33.0.0 をリリースしましたが、脆弱なコードは完全に変更されていませんでした。v8.33.0.0 のフォレンジック分析により、articleview-mobile.js の 95~99 行目に同一の脆弱な呼び出しが存在することが確認されています。
系譜: 同一の行 — $(document.body).html(content)、同名ファイル articleview-mobile.js 内 — が、iOS 版バンドル ReadItLaterPro.app(Pocket iOS v4.5.2)にも存在し、これは Read It Later が Pocket にリブランドされた 2012 年 4 月 17 日の直前の時代に遡ります。この CVE は v0 から v8.33.0.0 までのすべてのバージョンを対象としています — この欠陥は、製品の 18 年間の全ライフスパンにわたって、修正されることなく継続的に出荷されてきました(§7 参照)。入手可能な最古のバンドル(iOS v4.5.2)によるコードレベルのフォレンジック確認により、同一のシンクは少なくとも 2012 年まで遡ることが特定されています。
パッチは存在しません。製品は放棄されています。インストール済みのすべてのインスタンスは永続的に脆弱なままです。
com.ideashower.readitlater.procom.ideashower.readitlater.pro_8.33.0.0.apkhttps://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro で依然としてアクセス可能な場合がありますが、アプリはダウンロードできなくなりました。ファイル: assets/html/j/articleview-mobile.js
95~99 行目:```javascript
// article content was retrieved
loadCallback : function(content)
{
// TODO : 3.0 : If file was missing, handle that correctly
$(document.body).html(content);
**根本原因:** 外部から取得したHTMLが、サニタイズ処理なしでjQuery 3.4.1の`.html()`メソッドに直接渡されています。jQuery 3.4.1は埋め込まれた`<script>`タグおよびインラインイベントハンドラ(`onerror`、`onload`)を実行します。1,836行のファイル内のどこにも、`DOMPurify`、`sanitize()`、`escapeHtml()`、または同等のものへの呼び出しは存在しません。`content`変数はJavaレイヤーから発生しており、JS側でのフィルタリングは行われていません。
脆弱な呼び出しの直前に置かれた`// TODO : 3.0 : If file was missing, handle that correctly`というコメントは、このコードが本番向けに堅牢化されたことが一度もないことを示しています。このコメントは、最終リリースであるv8.33.0.0に至るまで、アプリのすべてのバージョンに存在していました。
### 3.3 JavaScriptブリッジの証拠
**ファイル:** `assets/html/j/articleview-mobile.js`、11~14行目:```javascript
// Android comm object
if (typeof PocketAndroidArticleInterface == 'undefined')
PocketAndroidArticleInterface = false;
isAndroid = !!PocketAndroidArticleInterface;
classes2.dex の DEX 文字列解析により確認済み:```
PocketAndroidArticleInterface
setJavaScriptEnabled
addJavascriptInterface
JS呼び出しサイトから確認されたブリッジメソッド: `onReady()`、`onError()`、`onScrollChanged()`、`setFrozen()`、`placePageBlockers()`、`toggleFullscreen()`、`setViewType()`、`scrollToPosition()`、`onTextSearch()`、`onRequestedHighlightPatch()`、`updatePageSwipingDisabledAreas()`、`getHorizontalMargin()`、`getMaxMediaHeight()`、`isConnected()`。
### 3.4 バックグラウンド同期サービス
**AndroidManifest.xml** により確認済み:```xml
<service
android:name="com.pocket.sdk.offline.DownloadingService"
android:permission="android.permission.FOREGROUND_SERVICE_DATA_SYNC">
BOOT_COMPLETED レシーバーが登録された状態。このサービスは、デバイスの起動時およびネットワーク利用可能時に記事コンテンツを自動的に取得してレンダリングし、ユーザーの操作なしに隠し WebView 内で loadCallback をトリガーする。
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. 概念実証```html
<!DOCTYPE html>
<html>
<body>
</body>
</html>
再現手順:
DownloadingService がコンテンツを自動的に取得する。loadCallback → $(document.body).html(content) → ペイロードが発火する。PoCのプラットフォーム範囲に関する注記: 上記の実行可能な概念実証はAndroidビルドを対象としており、これが0クリックのケースである(バックグラウンドの
DownloadingService)。iOS版(Pocket iOS v4.5.2 /ReadItLaterPro.app)は、同名ファイル内に同一の脆弱なloadCallback()シンクを共有しているが、異なるブリッジ機構(UIWebViewデリゲートによってインターセプトされるx-ril-cmd:URLスキーム)を通じてネイティブコードに到達し、1クリックのケースに格下げされる(ユーザーが保存済み記事を開く必要がある)。iOSの証拠は、出荷されたアプリバンドルの静的解析によって確立されており、本リポジトリのiOS_forensic_analysis_v4.5.2.mdに完全な形で文書化されている。実行可能なiOS PoCは別途公開されていないが、共有コードベースの解析により、両プラットフォーム間でのシンクの等価性が実証されている。
完全なベクター: 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
ベーススコア: 9.2 — CRITICAL
すべての日付は、元のメール証拠(POCKET_MAIL.pdf、POCKET_MAIL1.pdf、CRONO2.pdf)に対して検証済みである。
CVEレコードは、v0からv8.33.0.0までのすべてのバージョンが影響を受けることを確認している。この欠陥はリグレッションではなく、2007年にRead It LaterがFirefox拡張機能としてローンチされて以来存在する記事レンダリングパイプラインの元々のアーキテクチャであり、モバイルアプリ(Androidは2011年から、iOSはそれ以前)に引き継がれ、2025年の最終Androidリリースまで未変更のまま出荷された。同一の脆弱なシンクに関するフォレンジックなコードレベルの確認は、入手可能な最古のバンドル(iOS v4.5.2)を通じて2012年まで遡る。
ReadItLaterPro.app)iOSアプリケーションバンドルは**ReadItLaterPro.appと命名されている — これは、同社が2012年4月17日**にアプリを公にPocketへ改名する前にRead It Later, Inc.が使用していたリブランド前の製品名である。このバンドルはiOS 5.0以降を対象としており、コードベースを2011年~2012年初頭の時期に位置づける。
このiOSバンドルのフォレンジック解析により、Android版と同名のファイル内に文字単位で同一の脆弱なパターンが確認されている。完全なiOSフォレンジック解析 — 脆弱なシンク、コンテンツパイプライン、ネイティブブリッジ、テレメトリインベントリ、および証拠参照 — は、本リポジトリにiOS_forensic_analysis_v4.5.2.mdとして公開されている。
ファイル: manifest/cache/j/articleview-mobile.js(iOS) — assets/html/j/articleview-mobile.js(Android)と同一ファイル名
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();
},
同じ `// TODO : 3.0` コメントが両方のプラットフォームに存在する — まったく同じプレースホルダーであり、約13年にわたって一度も対応されることはなかった。
### 7.2 共有コードベースの確認
iOS バンドルには、Read It Later, Inc. / Mozilla が**単一の共有 JavaScript コードベース**を両方のプラットフォームに出荷していたことを証明する、明示的なプラットフォーム分岐ロジックが含まれている:```javascript
var isAndroid;
if (typeof ReadItLaterJSMethods == 'undefined')
ReadItLaterJSMethods = false;
isAndroid = !!ReadItLaterJSMethods;
isAndroid === false の場合、iOS ブリッジ経路が実行され、true の場合、Android 経路が実行される。どちらの経路も、どちらのプラットフォームでもサニタイズなしで、同じ脆弱な loadCallback() に収束する。
UIWebView のタイムラインに関する注記: Apple は iOS 8 (2014) で後継として WKWebView を導入した。UIWebView は iOS 12 (2018) で正式に非推奨となった。App Store は 2020 年 4 月に UIWebView を使用する新規アプリの受け入れを停止し、2020 年 12 月には既存アプリのアップデートも停止した。UIWebView が SDK から正式に削除されたことは一度もない — 依然として存在するが、App Store への提出には受理されなくなった。ここで関連するそのセキュリティ上の弱点は、プロセス内で動作し (独立した WebContent プロセスがない)、Content Security Policy をサポートせず、stringByEvaluatingJavaScriptFromString: を介して注入された JavaScript をメインスレッド上で同期的に実行することである。
Read It Later, Inc. — そしてその後買収により Mozilla — は、同じ名前のファイル内で、同じ未対処の TODO コメントを伴う、同じサニタイズされていない .html() インジェクションパターンを、製品の 18 年間の全ライフスパン (2007 → 2025) にわたって出荷し続け、MITRE によって v0 から v8.33.0.0 までの全バージョンに影響することが確認されている。
これには 2024-07-10 の正式な CWE-79 報告後の期間も含まれる。少なくともさらに 1 つの Android リリースラインが 2024–2025 年に生産され (v8.33.0.0 に至る)、脆弱なコードがそのまま保存されていた。
Pocket の記事リーダーは、外部から取得した生の HTML をサニタイズなしで $(document.body).html(content) を介して DOM に注入する。95 行目の // TODO コメントは、このコードが本番向けに堅牢化されたことが一度もなかったことを裏付けている。このアーキテクチャ上の選択は、初期のモバイルビルド (§7 参照) から最終 Android リリース v8.33.0.0 に至るまで存在し — 約 13 年間、少なくとも 1 回の完全な所有権移行を経ても変わらず、2024 年 7 月の正式なセキュリティ報告後も変わらなかった。
2024 年以降のベンダー対応のタイムライン、および正式な CWE-79 報告、Mozilla の拒否、最終的な未修正リリースの間の正確な経緯については、§6 を参照のこと。
ベンダーによる緩和策は存在せず、今後も提供される見込みはない。
エンドユーザー向け: com.ideashower.readitlater.pro を直ちにアンインストールすること。Google OAuth の許可を取り消すこと。
セキュリティコミュニティ向け: この事例は「Forever-Day」脆弱性に該当する — 確認済み、未修正、放棄されたソフトウェアで、利用可能な修復手段がない。MITRE の EOL ポリシーに従い、Unsupported When Assigned タグでの分類に適している。
分析対象 APK: com.ideashower.readitlater.pro_8.33.0.0.apk
ツール: Android Studio、DEX2JAR、手動コードレビュー、バイナリ AXML パース (UTF-16LE)、Protocol Buffer スキーマ検査、DEX 文字列抽出。iOS バンドルは文字列抽出および埋め込み JavaScript パイプラインのソースレビューにより検査した。
証拠チェーン:```
APK acquired └── com.ideashower.readitlater.pro_8.33.0.0.apk
Decompiled ├── assets/html/j/articleview-mobile.js (XSS — lines 95–99) ├── assets/html/article-mobile.html (jQuery 3.4.1) ├── AndroidManifest.xml (DownloadingService, SDK receivers) └── classes.dex / classes2.dex / classes3.dex
iOS counterpart bundle acquired and analyzed └── ReadItLaterPro.app (Pocket iOS v4.5.2) └── manifest/cache/j/articleview-mobile.js (XSS — lines 97–107) └── full analysis: iOS_forensic_analysis_v4.5.2.md
Vendor communication record └── Original emails verified: POCKET_MAIL.pdf, POCKET_MAIL1.pdf, CRONO2.pdf First report: 2021-04-19 XSS formally reported: 2024-07-10 Vendor final refusal: 2024-07-11
Dynamic evidence └── Video recording 2026-01-02: app fully operational post-sunset on real device
---
## 11. CVE レコード
**CVE ID:** CVE-2026-82090 — 2026-08-28 に MITRE Corporation (CNA) により公開。当初 CAN-2026-2030598 として cveform.mitre.org 経由で提出。
**ベンダー:** Mozilla Corporation
**製品:** Pocket (Android)
**バージョン:** 8.33.0.0
**脆弱性の種類:** クロスサイトスクリプティング (XSS)
**説明 (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.
追加情報 / ベンダーとのコミュニケーション:``` 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. 参考文献
- CVE-2026-82090(公式記録): https://www.cve.org/CVERecord?id=CVE-2026-82090
- CWE-79: https://cwe.mitre.org/data/definitions/79.html
- CWE-116: https://cwe.mitre.org/data/definitions/116.html
- CVSS v4.0 仕様: https://www.first.org/cvss/v4.0/specification-document
- MITRE CVE EOL プロセス: https://www.cve.org/Resources/General/End-of-Life-EOL-Assignment-Process.pdf
- MITRE CNA 運用ルール: https://www.cve.org/resourcessupport/allresources/cnarules
- 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 — `UIWebView` の非推奨化: https://developer.apple.com/documentation/uikit/uiwebview
- Apple — Web View を使用するアプリの更新(App Store の UIWebView 期限): https://developer.apple.com/news/?id=12232019b
- Read It Later → Pocket へのリブランド(2012年4月17日): https://blog.getpocket.com/2012/04/introducing-the-all-new-read-it-later-now-called-pocket/
---
*Ing. Zampier Zago (FUNFACTOR1) — セクション 1 — Department of Cyber Security, PS 1978 Limited — [email protected] — [www.ps1978ltd.it](http://www.ps1978ltd.it) — https://github.com/FUNFACTOR1*
| フィールド | 値 |
|---|
| CVE | CVE-2026-82090 — 公開 2026-08-28 — CNA: MITRE Corporation |
| 脆弱性の種類 | DOM ベース XSS(0-click)+ JavaScript ブリッジ悪用 |
| CWE | CWE-79, CWE-116 |
| エクスプロイト状況 | 0-click, 0-day — パッチなし、製品は End-of-Life |
| ベンダー対応 | 2024-07-11 — 「Pocket は対象外」(Frida, Mozilla Security Team) |
| 影響を受ける製品 | Pocket Android v8.33.0.0(最終リリース) |
| パッケージ ID | com.ideashower.readitlater.pro |
| ベンダー | Mozilla Corporation / Read It Later, Inc. |
| 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 |
| 深刻度 | CRITICAL |
| ベンダーへの最初の報告 | 2021-04-19(ペイウォールバイパス) |
| XSS の Mozilla Security への正式報告 | 2024-07-10 |
| 脆弱性を残したままリリースされた最終 APK | 2025 — v8.33.0.0 |
| サービス終了 | 2025-07-08 |
| コード系譜 | 18 年間 — すべてのバージョン(v0 → v8.33.0.0, 2007 → 2025)。2012 年の iOS バンドルによるコードフォレンジック確認。 |
| フィールド | 値 |
|---|
| 種類 | DOM ベース クロスサイトスクリプティング |
| CWE | CWE-79 — Web ページ生成時の入力の中和の不備 |
| 二次 CWE | CWE-116 — 出力のエンコードまたはエスケープの不備 |
| 攻撃ベクトル | リモート、0-click(配信後のユーザー操作ゼロ) |
| 必要な権限 | なし |
| スコープ | Changed — WebView コンテキストが信頼境界を越えてネイティブ Android ブリッジに到達 |
| 指標 | 値 | 根拠 |
|---|
| 攻撃ベクター (AV) | ネットワーク (N) | ペイロードがインターネット経由で配信・実行される |
| 攻撃複雑度 (AC) | 低 (L) | 回避すべき競合状態やメモリ保護が存在しない |
| 攻撃要件 (AT) | あり (P) | バックグラウンド同期をトリガーするには、攻撃前にユーザーが少なくとも1件の記事を保存している必要がある |
| 必要な権限 (PR) | なし (N) | ターゲット側で認証が不要 |
| ユーザー操作 (UI) | なし (N) | 保存後のバックグラウンドサービスにより自動実行される |
| 脆弱性の機密性 (VC) | 高 (H) | セッショントークン、記事DB、閲覧履歴が露出する |
| 脆弱性の完全性 (VI) | 高 (H) | JSがネイティブブリッジメソッドを通じてアプリの状態を改変できる |
| 脆弱性の可用性 (VA) | 高 (H) | バックグラウンドサービスの可用性が妨害され得る |
| 後続システム (SC / SI / SA) | なし (N) | 実証された影響はAndroidアプリケーションサンドボックス / WebViewの信頼境界内に留まる。別個の後続システムへのピボットは証明されていない。過大な主張を避けるため、SC/SI/SAは保守的にNoneに設定 |
| 修復レベル (RL) | 利用不可 (U) | 製品は放棄されており、パッチは提供されない見込み |
| 日付 | 出来事 | 情報源 / 関係者 |
|---|
| 2021-04-19 | Pocketサポートへの初回報告: イタリアのニュースサイトにおける出版社のアクセス制御を回避できるペイウォールバイパス。動画、スクリーンショット、および例示URLを提供。 | Zampier Zago → [email protected] |
| 2021-04-22 | Pocketサポートの回答: 具体的なURLとスクリーンショットを要求。 | Pocket Support (Manuel) → Zampier Zago |
| 2021-05-17 | 研究者が完全なコンテンツバイパスを実証する2つのライブPoC URLを提供。 | Zampier Zago → [email protected] |
| 2021–2024 | 以降、ベンダーによる追加の対応なし。ベンダーの当初の立場: 「Pocketが原因ではない」。研究者は、この断定的な拒否を受けて3年間にわたり自身の発見を疑っていた。 | — |
| ~2024年6月 | 研究者がAPK解析を実施し、WebView(articleview-mobile.js)内のXSS、JavaScriptブリッジ悪用ベクター、CWE-79 / CWE-200 / CWE-693を特定。 | Zampier Zago |
| 2024-05-31 | 案件を正式に再開。同一のペイウォールバイパスに関する第三者の公開確認(bardeen.ai)。研究者が2021年の初回報告を参照。 | Zampier Zago → [email protected] |
| 2024-06-06 | Pocketサポート (Alejandra Galo): 社内でエスカレーションしたが、修正は約束されず。「当社のParserは、当該ペイウォールをバイパスするようには設計されていません。」 | Pocket Support → Zampier Zago |
| 2024-07-02 | 研究者がサポートチケット#151540を通じてPocket/Mozilla Security Teamへ正式なフォローアップを送信し、2021年の初回報告を明示的に参照して正式な確認を要求。 | Zampier Zago → [email protected] |
| 2024-07-04, 13:18 CST | Pocketサポート (Dayana Galeano): [email protected]へ転送。「セキュリティ脆弱性の報告であるため、代わりに[email protected]へご連絡いただくことをお勧めします。」 | Pocket Support → Zampier Zago |
| 2024-07-10, 21:05 | 研究者がCWE-79(XSS)、CWE-200(情報露出)、CWE-693(保護機構の失敗)、HTTPリクエスト/レスポンス例、XSSペイロードの実証、および影響分析を含む完全な技術セキュリティレポートをMozilla Security([email protected])へ提出。 | Zampier Zago → [email protected] |
| 2024-07-11, 09:32 | Mozilla Security (Frida) の回答: 「Pocketは当社のWebバグバウンティプログラムの対象外であり、当社は重大度がcriticalの報告のみを受け付けています。」 個別のHackerOne提出を要求。修正は約束されず。 | Mozilla Security Team → Zampier Zago |
| 2024-07-24, 19:00 | Mozilla Privacy Team ([email protected]): バグバウンティフォームへ転送。実質的な対応なし。 | Mozilla Privacy Team → Zampier Zago |
| 2025 | Mozillaがサービス終了前のPocket Androidの最終バージョンとしてv8.33.0.0をリリース。articleview-mobile.js(95~99行目)の脆弱なコードは同一かつ未修正。セキュリティパッチは展開されず。キルスイッチや強制アンインストールもなし。 | Mozilla(公開情報) |
| 2025-07-08 | Pocketサービスが正式に終了。アプリケーションはユーザー端末にインストールされたまま動作可能。 | Mozilla(公開情報) |
| 2026-01-02 | 実機で録画された動画証拠: Pocket Android v8.33.0.0がサービス終了から数か月後も完全に動作。ペイウォールバイパスが有効であることを確認。バックグラウンドサービスが稼働していることを確認。(圧縮版はダウンロード可能。完全な検証可能メタデータ付きのオリジナルは要求に応じて提供可能。) | Zampier Zago(動画録画) |
| 観点 | Android v8.33.0.0 (2025) | iOS v4.5.2 (~2012) |
|---|
| 脆弱なファイル | assets/html/j/articleview-mobile.js | manifest/cache/j/articleview-mobile.js |
| 脆弱なシンク | $(document.body).html(content) L95–99 | $(document.body).html(content) L97–107 |
| サニタイズ | なし | なし |
| ネイティブブリッジ機構 | addJavascriptInterface → PocketAndroidArticleInterface (Java) | x-ril-cmd: URL スキームを UIWebView デリゲート (Objective-C) が傍受 |
| ブリッジがネイティブコードに到達 | はい | はい |
| バックグラウンド自動レンダリング | はい — BOOT_COMPLETED で DownloadingService | いいえ — 記事をユーザーが開く必要がある |
| ユーザー操作の必要性 | なし (0クリック) | 記事を開く (1クリック) |
| 記事の転送 | HTTPS | バンドル分析時点で HTTP 平文 (http://text.getpocket.com/v3beta/mobile) — 当初のデプロイでは追加の MITM ベクター (サービス終了以降エンドポイントはオフライン) |
| WebView 技術 | モダン Android WebView | UIWebView (iOS 12 で非推奨、2020 年以降 App Store で受理されず) |