Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-82090-18-Years-All-Versions-CVSS-9.2-CRITICAL-The-Pocket-Forever-Day — CVE-2026-82090 · CVSS 9.2 クリティカル · Mozilla Pocket における 0-click ストアド XSS — 全バージョン (v0 → v8.33.0.0) · 18年間の forever-day · パッチなし · MITRE 公開 | Kitploit
ツール/GitHubGitHub/funfactor1/cve-2026-82090-18-years-all-versions-cvss-9.2-critical-the-pocket-forever-day
Androidセキュリティ脆弱性スキャナーiOSセキュリティ脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティモバイルセキュリティ論文と研究

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
学習と教育
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 クリティカル · Mozilla Pocket における 0-click ストアド XSS — 全バージョン (v0 → v8.33.0.0) · 18年間の forever-day · パッチなし · MITRE 公開

リポジトリを見る
31431ヶ月前未レビュー
ChatGPT Image 13 set 2026, 16_09_06 # XSS 0クリック / 0デイ脆弱性レポート

CVE CVSS Status CNA Tag

Pocket Android & iOS における JavaScript ブリッジの悪用につながるクロスサイトスクリプティング(0クリック)— CVSS 9.2 クリティカル

CVE-2026-82090 — MITRE Corporation により公開(2026-08-28)

著者: Ing. Zampier Zago(FUNFACTOR1) 部門: セクション1 — サイバーセキュリティ部門、PS 1978 Limited 連絡先: [email protected] Web: www.ps1978ltd.it 分類: セキュリティ脆弱性分析 — CVE-2026-82090


デュアルユースコンテンツに関する免責事項: 本リポジトリには、サポート終了(EOL)製品の脆弱性分析および概念実証(PoC)が含まれています。提供される情報およびコードは、教育目的、防御的分析、および公式の CVE 文書化に厳密に限定されます。著者は、本情報のいかなる悪用についても責任を負いません。


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

1. エグゼクティブサマリー

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クリックエクスプロイト です。

根本原因は、アセットにバンドルされたファイル 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年まで遡ることが判明しています。

パッチは存在しません。製品は放棄されています。インストール済みのすべてのインスタンスは恒久的に脆弱なままです。

項目値
CVECVE-2026-82090 — 公開日 2026-08-28 — CNA: MITRE Corporation
脆弱性の種類DOMベースXSS(0クリック)+ JavaScriptブリッジの悪用
CWECWE-79、CWE-116
悪用状況0クリック、0-day — 修正パッチなし。製品はEnd-of-Life
ベンダーの対応2024-07-11 — 「Pocketは対象外」(Frida、Mozilla Security Team)
影響を受ける製品Pocket Android v8.33.0.0(最終リリース)
パッケージIDcom.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(ペイウォール回避)
Mozilla SecurityへのXSS正式報告2024-07-10
脆弱性を残したままリリースされた最終APK2025年 — v8.33.0.0
サービス終了2025-07-08
コードの系譜18年間 — 全バージョン(v0 → v8.33.0.0、2007年 → 2025年)。2012年のiOSバンドルからフォレンジック調査によりコードを確認。

2. 影響を受ける製品

  • 製品名: Pocket — Save. Read. Grow.(Android)
  • パッケージ名: com.ideashower.readitlater.pro
  • ビルドバージョン: 8.33.0.0(サービス終了前の最終リリース)
  • 解析対象APK: com.ideashower.readitlater.pro_8.33.0.0.apk
  • ベンダー: Read It Later, Inc. / Mozilla Corporation
  • Google Play: 2025-05-21にGoogle Playストアから非公開化。掲載ページは https://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro で引き続きアクセスできる可能性があるが、アプリはもはやダウンロードできない。
  • サービス状況: 終了(2025-07-08)。本アプリケーションは、強制アンインストール、キルスイッチ、セキュリティアップデートの配信も行われることなく、数百万台のデバイスにインストールされたままとなっている。映像証拠(2026-01-02)は、公式シャットダウンから数か月後も、ペイウォール回避やバックグラウンドサービスを含めて完全に動作していることを確認している。

3. 脆弱性の詳細 — 問題 #1: WebView経由の0クリックXSS

3.1 脆弱性の分類

項目値
種類DOMベースのクロスサイトスクリプティング
CWECWE-79 — Webページ生成時の入力の不適切な中和
二次的CWECWE-116 — 出力の不適切なエンコードまたはエスケープ
攻撃ベクトルリモート、0クリック(配信後のユーザー操作ゼロ)
必要な権限なし
スコープ変更あり — WebViewコンテキストが信頼境界を越えてネイティブAndroidブリッジに到達

3.2 脆弱なコンポーネント

ファイル: assets/html/j/articleview-mobile.js 95~99行目:

// 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行目:

// Android comm object
if (typeof PocketAndroidArticleInterface == 'undefined')
    PocketAndroidArticleInterface = false;

isAndroid = !!PocketAndroidArticleInterface;

DEX文字列解析(classes2.dex)により確認済み:

PocketAndroidArticleInterface
setJavaScriptEnabled
addJavascriptInterface

JS 呼び出し箇所から確認されたブリッジメソッド: onReady()、onError()、onScrollChanged()、setFrozen()、placePageBlockers()、toggleFullscreen()、setViewType()、scrollToPosition()、onTextSearch()、onRequestedHighlightPatch()、updatePageSwipingDisabledAreas()、getHorizontalMargin()、getMaxMediaHeight()、isConnected()。

3.4 バックグラウンド同期サービス

AndroidManifest.xml により以下が確認されます:

<service
    android:name="com.pocket.sdk.offline.DownloadingService"
    android:permission="android.permission.FOREGROUND_SERVICE_DATA_SYNC">

BOOT_COMPLETED レシーバーが登録されています。このサービスはデバイスの起動時およびネットワーク利用可能時に記事コンテンツを自動的に取得・レンダリングし、ユーザーの操作なしに隠し WebView 内で loadCallback をトリガーします。

3.5 攻撃チェーン

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. 概念実証

<!DOCTYPE html>
<html>
<body>

</body>
</html>

再現手順:

  1. 上記のページを公開URLでホストする。
  2. 被害者がそのURLをPocketに保存する(ワンクリック — 「Save to Pocket」)。
  3. それ以上のユーザー操作は不要。
  4. DownloadingService がコンテンツを自動的に取得する。
  5. ページネーションエンジンが非表示のWebView内で記事をレンダリングする。
  6. loadCallback → $(document.body).html(content) → ペイロードが発火する。
  7. 攻撃者のサーバーが窃取されたデータを静かに受信する。
ツールをダウンロード