Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

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 КРИТИЧЕСКИЙ · 0-click хранимая XSS в Mozilla Pocket — все версии (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 КРИТИЧЕСКИЙ · 0-click хранимая XSS в Mozilla Pocket — все версии (v0 → v8.33.0.0) · 18-летний forever-day · без патча · опубликовано MITRE

Репозиторий
2115 ч 41 мин назадЕщё не проверено
Поделиться

Отчёт об уязвимости XSS 0-Click / 0-Day

CVE CVSS Status CNA Tag

Межсайтовый скриптинг (0-Click), приводящий к злоупотреблению JavaScript-мостом в Pocket для Android и iOS — CVSS 9.2 CRITICAL

CVE-2026-82090 — опубликовано MITRE Corporation (2026-08-28)

Автор: Ing. Zampier Zago (FUNFACTOR1) Подразделение: Section 1 — Department of Cyber Security, PS 1978 Limited Контакт: [email protected] Веб-сайт: www.ps1978ltd.it Классификация: Анализ уязвимости безопасности — CVE-2026-82090


Отказ от ответственности за двойное использование: Этот репозиторий содержит анализ уязвимости и Proof of Concept (PoC) для продукта, снятого с поддержки (End-of-Life, EOL). Предоставленная информация и код предназначены строго для образовательных целей, защитного анализа и официальной документации CVE. Автор не несёт ответственности за любое неправомерное использование этой информации.


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

1. Краткое резюме

Уязвимость DOM-based Cross-Site Scripting (XSS) подтверждена в Pocket для Android версии 8.33.0.0 (пакет com.ideashower.readitlater.pro) — финальном релизе, выпущенном Mozilla / Read It Later, Inc. перед прекращением обслуживания в июле 2025 года. Уязвимость позволяет злоумышленнику внедрить и выполнить произвольный JavaScript в WebView приложения без какого-либо взаимодействия с пользователем, кроме единственного действия «Save to Pocket» — 0-click эксплойт после доставки.

Первопричиной является несанитизированное внедрение HTML-содержимого из внешних источников непосредственно в DOM через метод jQuery .html() ($(document.body).html(content)) в файле, входящем в состав ресурсов, assets/html/j/articleview-mobile.js (строки 95–99). Содержимое извлекается и отображается автоматически в фоновом режиме службой com.pocket.sdk.offline.DownloadingService без необходимости какого-либо взаимодействия с пользователем.

Приложение также предоставляет нативный мост Java-to-JavaScript (PocketAndroidArticleInterface), зарегистрированный через addJavascriptInterface и подтверждённый в classes2.dex, вызываемый JavaScript, исполняемым внутри WebView.

Запись о раскрытии вендору: Об XSS официально сообщено в Mozilla Security 2024-07-10 с классификацией CWE-79 и полными техническими деталями. Mozilla подтвердила получение 2024-07-11 и явно отказалась от устранения, объявив Pocket вне области действия. Впоследствии Mozilla выпустила v8.33.0.0 в 2025 году с полностью неизменённым уязвимым кодом. Криминалистический анализ v8.33.0.0 подтверждает идентичный уязвимый вызов в строках 95–99 файла articleview-mobile.js.

Происхождение: Та же самая строка — $(document.body).html(content), в файле с тем же именем articleview-mobile.js — присутствует в аналогичном пакете для iOS ReadItLaterPro.app (Pocket iOS v4.5.2), относящемся к эпохе, непосредственно предшествующей ребрендингу Read It Later в Pocket 17 апреля 2012 года. CVE охватывает все версии от v0 до v8.33.0.0 — дефект непрерывно поставлялся, не изменяясь, на протяжении всего 18-летнего жизненного цикла продукта (см. §7). Криминалистическое подтверждение на уровне кода через самый старый доступный пакет (iOS v4.5.2) датирует идентичный сток как минимум 2012 годом.

Патч недоступен. Продукт заброшен. Все установленные экземпляры остаются навсегда уязвимыми.


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: Снят с публикации в Google Play Store 2025-05-21. Страница листинга может быть всё ещё доступна по адресу https://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro, но приложение больше недоступно для загрузки.
  • Статус обслуживания: ПРЕКРАЩЕНО (2025-07-08). Приложение остаётся установленным на миллионах устройств без принудительного удаления, kill-switch или развёрнутого обновления безопасности. Видеодоказательство (2026-01-02) подтверждает полную работоспособность — включая обход пейволла и фоновые службы — спустя месяцы после официального отключения.

3. Детали уязвимости — Проблема №1: 0-Click XSS через WebView

3.1 Классификация уязвимости

3.2 Уязвимый компонент

Файл: 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);

root@kitploit:~
**Первопричина:** HTML из внешнего источника передаётся напрямую в метод `.html()` jQuery 3.4.1 без какой-либо санитизации. 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 Bridge

**Файл:** `assets/html/j/articleview-mobile.js`, строки 11–14:```javascript
// Android comm object
if (typeof PocketAndroidArticleInterface == 'undefined')
    PocketAndroidArticleInterface = false;

isAndroid = !!PocketAndroidArticleInterface;

Подтверждено с помощью анализа строк DEX (classes2.dex):``` PocketAndroidArticleInterface setJavaScriptEnabled addJavascriptInterface

root@kitploit:~
Подтверждённые методы моста из мест вызова 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. Сервис автоматически извлекает и отображает содержимое статьи при загрузке устройства и появлении сети, вызывая loadCallback в скрытом WebView без какого-либо взаимодействия с пользователем.

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.

root@kitploit:~
---

## 4. Доказательство концепции```html
<!DOCTYPE html>
<html>
<body>

</body>
</html>

Шаги воспроизведения:

  1. Разместите указанную выше страницу по публичному URL.
  2. Жертва сохраняет URL в Pocket (одно нажатие — «Сохранить в Pocket»).
  3. Дальнейшее взаимодействие с пользователем не требуется.
  4. DownloadingService автоматически загружает содержимое.
  5. Механизм пагинации отображает статью в скрытом WebView.
  6. loadCallback → $(document.body).html(content) → срабатывает полезная нагрузка.
  7. Сервер атакующего незаметно получает эксфильтрованные данные.

Примечание об охвате платформ в PoC: Приведённое выше исполняемое доказательство концепции нацелено на сборку для Android, которая представляет собой случай 0-click (фоновый DownloadingService). Аналог для iOS (Pocket iOS v4.5.2 / ReadItLaterPro.app) содержит идентичный уязвимый сток loadCallback() в файле с тем же именем, но достигает нативного кода через иной механизм моста (URL-схема x-ril-cmd:, перехватываемая делегатом UIWebView) и деградирует до случая 1-click (пользователь должен открыть сохранённую статью). Доказательства для iOS получены путём статического анализа поставляемого пакета приложения и полностью задокументированы в iOS_forensic_analysis_v4.5.2.md в этом репозитории. Отдельный исполняемый PoC для iOS не публикуется; анализ общей кодовой базы демонстрирует эквивалентность стока на обеих платформах.


5. Декомпозиция вектора CVSS v4.0

Полный вектор: 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 — КРИТИЧЕСКИЙ


6. История коммуникации с вендором

Все даты сверены с оригинальными доказательствами в виде электронных писем (POCKET_MAIL.pdf, POCKET_MAIL1.pdf, CRONO2.pdf).


7. Происхождение — 18 лет одного и того же уязвимого кода (2007 → 2025)

Запись CVE подтверждает все версии от v0 до v8.33.0.0 как затронутые. Дефект не является регрессией — это исходная архитектура конвейера отображения статей, присутствовавшая с момента запуска Read It Later как расширения для Firefox в 2007 году, перенесённая в мобильные приложения (Android с 2011 года, iOS ранее) и поставленная без изменений вплоть до финального релиза для Android в 2025 году. Криминалистическое подтверждение на уровне кода идентичного уязвимого стока прослеживается до 2012 года через самый старый доступный пакет (iOS v4.5.2).

7.1 Аналог для iOS — Pocket iOS v4.5.2 (ReadItLaterPro.app)

Пакет приложения для iOS называется ReadItLaterPro.app — название продукта до ребрендинга, использовавшееся Read It Later, Inc. до публичного переименования приложения в Pocket 17 апреля 2012 года. Пакет нацелен на 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

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:~
Тот же самый комментарий `// 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() без какой-либо санитизации на обеих платформах.

7.3 Различия между платформами

Примечание о хронологии UIWebView: Apple представила WKWebView в качестве преемника в iOS 8 (2014). UIWebView был официально объявлен устаревшим в iOS 12 (2018). App Store перестал принимать новые приложения, использующие UIWebView, в апреле 2020 года, а обновления существующих приложений — в декабре 2020 года. UIWebView никогда официально не удалялся из SDK — он по-прежнему присутствует, но больше не принимается для отправки в App Store. Его слабые места в области безопасности, значимые здесь, заключаются в том, что он работает внутри процесса (без отдельного процесса WebContent), не поддерживает Content Security Policy и выполняет внедрённый JavaScript синхронно в главном потоке через stringByEvaluatingJavaScriptFromString:.

7.4 Следствие

Read It Later, Inc. — а впоследствии Mozilla после приобретения — выпускала один и тот же несанитизированный шаблон инъекции .html(), в файле с тем же именем, с тем же неисправленным комментарием TODO, на протяжении всего 18-летнего жизненного цикла продукта (2007 → 2025), что подтверждено MITRE как затрагивающее все версии от v0 до v8.33.0.0.

Это включает период после официального отчёта CWE-79 от 2024-07-10. По крайней мере одна дополнительная линейка релизов Android была выпущена в 2024–2025 годах (завершившаяся v8.33.0.0) с сохранённым дословно уязвимым кодом.


8. Анализ первопричины

Средство чтения статей Pocket внедряет необработанный HTML из внешних источников в DOM через $(document.body).html(content) без какой-либо санитизации. Комментарий // TODO в строке 95 подтверждает, что код никогда не был усилен для эксплуатации. Этот архитектурный выбор присутствовал с самых ранних мобильных сборок (см. §7) вплоть до финального релиза Android v8.33.0.0 — неизменный на протяжении примерно 13 лет и как минимум одной полной смены владельца, и неизменный после официального отчёта о безопасности в июле 2024 года.

О хронологии ответа вендора после 2024 года и точной последовательности между официальным отчётом CWE-79, отказом Mozilla и финальным неисправленным релизом см. §6.


9. Временные меры защиты

Меры защиты от вендора отсутствуют и не предвидятся.

Для конечных пользователей: Немедленно удалите com.ideashower.readitlater.pro. Отзовите разрешения Google OAuth.

Для сообщества безопасности: Этот случай квалифицируется как уязвимость «Forever-Day» — подтверждённая, неисправленная, в заброшенном программном обеспечении без доступного пути устранения. Подходит для классификации под тегом Unsupported When Assigned согласно политике MITRE EOL.


10. Методология верификации

Проанализированный APK: com.ideashower.readitlater.pro_8.33.0.0.apk

Инструменты: Android Studio, DEX2JAR, ручной обзор кода, разбор бинарного AXML (UTF-16LE), инспекция схемы Protocol Buffer, извлечение строк из DEX. Бандл iOS исследован посредством извлечения строк и обзора исходного кода встроенного конвейера JavaScript.

Цепочка доказательств:```

  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. Запись CVE

**CVE ID:** CVE-2026-82090 — Опубликовано 2026-08-28 корпорацией MITRE (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.

root@kitploit:~
---

## 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 Views (сроки App Store для UIWebView): https://developer.apple.com/news/?id=12232019b
- Read It Later → ребрендинг в Pocket (17 апреля 2012 г.): https://blog.getpocket.com/2012/04/introducing-the-all-new-read-it-later-now-called-pocket/

---

*Ing. Zampier Zago (FUNFACTOR1) — Секция 1 — Департамент кибербезопасности, PS 1978 Limited — [email protected] — [www.ps1978ltd.it](http://www.ps1978ltd.it) — https://github.com/FUNFACTOR1*
Скачать инструмент
ПолеЗначение
CVECVE-2026-82090 — опубликовано 2026-08-28 — CNA: MITRE Corporation
Тип уязвимостиDOM-Based XSS (0-click) + злоупотребление JavaScript-мостом
CWECWE-79, CWE-116
Статус эксплойта0-click, 0-day — патч недоступен; продукт снят с поддержки
Ответ вендора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.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
КритичностьCRITICAL
Впервые сообщено вендору2021-04-19 (обход пейволла)
XSS официально сообщён в Mozilla Security2024-07-10
Финальный APK выпущен с неустранённой уязвимостью2025 — v8.33.0.0
Прекращение обслуживания2025-07-08
Происхождение кода18 лет — все версии (v0 → v8.33.0.0, 2007 → 2025). Криминалистическое подтверждение кода из пакета iOS 2012 года.
ПолеЗначение
ТипDOM-Based Cross-Site Scripting
CWECWE-79 — Ненадлежащая нейтрализация входных данных при генерации веб-страницы
Вторичный CWECWE-116 — Ненадлежащее кодирование или экранирование выходных данных
Вектор атакиУдалённый, 0-click (нулевое взаимодействие с пользователем после доставки)
Требуемые привилегииОтсутствуют
Область действияИзменена — контекст WebView пересекает границу доверия в нативный мост Android
МетрикаЗначениеОбоснование
Вектор атаки (AV)Сетевой (N)Полезная нагрузка доставляется и исполняется через интернет
Сложность атаки (AC)Низкая (L)Нет состояний гонки или защитных механизмов памяти, которые нужно обходить
Требования к атаке (AT)Присутствуют (P)Пользователь должен сохранить хотя бы одну статью до атаки, чтобы запустить фоновую синхронизацию
Требуемые привилегии (PR)Отсутствуют (N)Аутентификация на цели не требуется
Взаимодействие с пользователем (UI)Отсутствует (N)Исполнение автоматическое через фоновую службу после сохранения
Конфиденциальность уязвимости (VC)Высокая (H)Раскрываются сессионные токены, база данных статей, привычки чтения
Целостность уязвимости (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Исследователь предоставил два рабочих PoC-URL, демонстрирующих полный обход контента.Zampier Zago → [email protected]
2021–2024Дальнейших действий вендора не последовало. Первоначальная позиция вендора: «не связано с Pocket». Исследователь сомневался в собственной находке три года из-за категоричного отказа.—
~июнь 2024Исследователь проводит анализ APK, выявляет XSS в WebView (articleview-mobile.js), вектор злоупотребления мостом JavaScript, CWE-79 / CWE-200 / CWE-693.Zampier Zago
2024-05-31Дело официально переоткрыто. Публичное стороннее подтверждение идентичного обхода пейволла (bardeen.ai). Исследователь ссылается на первоначальный отчёт 2021 года.Zampier Zago → [email protected]
2024-06-06Pocket Support (Alejandra Galo): эскалация внутри компании, исправление не обещано. «Наш парсер не предназначен для обхода указанных пейволлов».Pocket Support → Zampier Zago
2024-07-02Исследователь направляет официальное напоминание в Pocket/Mozilla Security Team через тикет поддержки #151540, явно ссылаясь на первый отчёт 2021 года и запрашивая официальное подтверждение.Zampier Zago → [email protected]
2024-07-04, 13:18 CSTPocket Support (Dayana Galeano): перенаправляет на [email protected]. «Поскольку вы сообщаете об уязвимости безопасности, рекомендую обратиться вместо этого на [email protected]».Pocket Support → Zampier Zago
2024-07-10, 21:05Исследователь направляет полный технический отчёт по безопасности в Mozilla Security ([email protected]), включая CWE-79 (XSS), CWE-200 (раскрытие информации), CWE-693 (отказ защитного механизма), примеры HTTP-запросов/ответов, демонстрацию XSS-полезной нагрузки и анализ воздействия.Zampier Zago → [email protected]
2024-07-11, 09:32Ответ Mozilla Security (Frida): «Pocket находится вне области нашей программы bug bounty для веб-приложений, и мы принимаем только отчёты с критической степенью серьёзности». Запрошены отдельные обращения через HackerOne. Исправление не обещано.Mozilla Security Team → Zampier Zago
2024-07-24, 19:00Mozilla Privacy Team ([email protected]): перенаправляет на форму bug bounty. Содержательного взаимодействия нет.Mozilla Privacy Team → Zampier Zago
2025Mozilla выпускает v8.33.0.0 как финальную версию Pocket для Android перед закрытием сервиса. Уязвимый код в articleview-mobile.js (строки 95–99) идентичен и не изменён. Патч безопасности не выпущен. Kill-switch или принудительное удаление отсутствуют.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.jsmanifest/cache/j/articleview-mobile.js
Уязвимый сток$(document.body).html(content) L95–99$(document.body).html(content) L97–107
СанитизацияОтсутствуетОтсутствует
Механизм нативного мостаaddJavascriptInterface → PocketAndroidArticleInterface (Java)Схема URL x-ril-cmd:, перехватываемая делегатом UIWebView (Objective-C)
Мост достигает нативного кодаДаДа
Фоновый авто-рендерингДа — DownloadingService по BOOT_COMPLETEDНет — статья должна быть открыта пользователем
Требуется взаимодействие с пользователемНет (0-click)Открыть статью (1-click)
Транспорт статьиHTTPSHTTP в открытом виде (http://text.getpocket.com/v3beta/mobile) на момент анализа бандла — дополнительный вектор MITM в исходном развёртывании (эндпоинт офлайн с момента прекращения работы сервиса)
Технология WebViewСовременный Android WebViewUIWebView (устарел с iOS 12; не принимается App Store с 2020 года)