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

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

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
reproducer-okio-cve-2023-3635 — Воспроизведение CVE-2023-3635 в Okio 2.9.0, демонстрирующее, как каталог версий React Native фиксирует уязвимую зависимость, затрагивающую Android-приложения. | Kitploit
Инструменты/GitHubGitHub/joshuaasmith/reproducer-okio-cve-2023-3635
Безопасность AndroidАнализ уязвимостейМобильная безопасностьБезопасность Цепочки ПоставокОбучение и Образование
GitHubjoshuaasmith/reproducer-okio-cve-2023-3635

reproducer-okio-cve-2023-3635

Воспроизведение CVE-2023-3635 в Okio 2.9.0, демонстрирующее, как каталог версий React Native фиксирует уязвимую зависимость, затрагивающую Android-приложения.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
1 день назадЕщё не проверено

reproducer-okio-cve-2023-3635

Build

Что воспроизводит этот проект

Репродуктор для facebook/react-native#58148: собственный packages/react-native/gradle/libs.versions.toml React Native закрепляет okhttp = "4.9.2" / okio = "2.9.0", а okio 2.9.0 затронут уязвимостью CVE-2023-3635 / GHSA-w33c-445m-f8w7, исправленной в okio 3.4.0.

Никакой код приложения не изменялся для этого. ReproducerApp — это полностью неизменённый результат выполнения npx @react-native-community/cli init, сгенерированный для [email protected] (текущий latest этого шаблона, соответствующий 0.87.0-main из main). Уязвимая версия закреплена в собственном каталоге версий React Native, а не из-за чего-либо, что делает потребляющее приложение.

Для воспроизведения, из ReproducerApp/android:

root@kitploit:~
./gradlew :app:dependencies --configuration releaseRuntimeClasspath | grep -iE "okhttp|okio"

Вывод (полный прогон сохранён в gradle-dependencies-output.txt):

root@kitploit:~
com.squareup.okhttp3:okhttp-urlconnection:4.9.2
com.squareup.okhttp3:okhttp:4.9.2 (*)
com.squareup.okio:okio:2.9.0 (*)
com.squareup.okhttp3:okhttp:3.14.9 -> 4.9.2
com.squareup.okio:okio:2.8.0 -> 2.9.0

okhttp/okio попадают в фактический поставляемый releaseRuntimeClasspath приложения (не только в тестовую инфраструктуру), будучи подтянутыми транзитивно через com.facebook.fresco:imagepipeline-okhttp3 и собственный артефакт react-android React Native.


Это ваш новый проект-репродуктор React Native.

TODO-список репродуктора

  • 1. Создать новый проект-репродуктор.
  • 2. Клонировать ваш репозиторий локально через Git.
  • 3. Изменить проект, чтобы воспроизвести ошибку, которую вы наблюдаете.
  • 4. Отправить ваши изменения, чтобы Github Actions мог запустить CI.
  • 5. Убедиться, что репозиторий публичный, и поделиться ссылкой в сообщении о проблеме, которую вы сообщили.

Как использовать этот репродуктор

Этот проект создан с помощью npx @react-native-community/cli init и представляет собой ванильное приложение React Native.

[!IMPORTANT]
Убедитесь, что вы выполнили Настройку окружения React Native, чтобы у вас было рабочее окружение локально.

Шаг 1: Запустите сервер Metro

Сначала вам нужно запустить Metro, JavaScript бандлер, который поставляется с React Native.

Чтобы запустить Metro, выполните следующую команду из корня вашего проекта React Native:

root@kitploit:~
# используя npm
npm start

# ИЛИ используя Yarn
yarn start

Шаг 2: Запустите ваше приложение

Пусть Metro Bundler работает в своём собственном терминале. Откройте новый терминал из корня вашего проекта React Native. Выполните следующую команду, чтобы запустить ваше приложение для Android или iOS:

Для Android

root@kitploit:~
# используя npm
npm run android

# ИЛИ используя Yarn
yarn android

Для iOS

Сначала убедитесь, что вы установили зависимости с помощью:

root@kitploit:~
cd ios && bundle install && bundle exec pod install

Затем вы можете запустить приложение для iOS с помощью:

root@kitploit:~
# используя npm
npm run ios

# ИЛИ используя Yarn
yarn ios

Если всё настроено правильно, вы должны вскоре увидеть ваше новое приложение, работающее в вашем Android Emulator или iOS Simulator, при условии, что вы правильно настроили эмулятор/симулятор.

Это один из способов запустить ваше приложение — вы также можете запустить его напрямую из Android Studio и Xcode соответственно.

Шаг 3: Изменение вашего приложения

Теперь, когда вы успешно запустили приложение, давайте изменим его.

  1. Откройте App.tsx в вашем текстовом редакторе по выбору и отредактируйте несколько строк.

  2. Для Android: Нажмите клавишу R дважды или выберите "Reload" из Developer Menu (Ctrl + M (на Windows и Linux) или Cmd ⌘ + M (на macOS)), чтобы увидеть ваши изменения!

    Для iOS: Нажмите Cmd ⌘ + R в вашем iOS Simulator, чтобы перезагрузить приложение и увидеть ваши изменения!

Скачать инструмент