Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
reproducer-okio-cve-2023-3635 — # CVE-2023-3635 Okio 2.9.0 재현기 Okio 2.9.0의 CVE-2023-3635 재현기로, React Native의 버전 카탈로그가 취약한 의존성을 고정(pin)하여 Android 앱에 영향을 미치는 방식을 보여줍니다. | Kitploit
도구/GitHubGitHub/joshuaasmith/reproducer-okio-cve-2023-3635
Android SecurityVulnerability AnalysisMobile SecuritySupply Chain SecurityLearning & Education
GitHubjoshuaasmith/reproducer-okio-cve-2023-3635

reproducer-okio-cve-2023-3635

# CVE-2023-3635 Okio 2.9.0 재현기 Okio 2.9.0의 CVE-2023-3635 재현기로, React Native의 버전 카탈로그가 취약한 의존성을 고정(pin)하여 Android 앱에 영향을 미치는 방식을 보여줍니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
1일 전아직 검토되지 않음

reproducer-okio-cve-2023-3635

Build

이 저장소가 재현하는 것

facebook/react-native#58148에 대한 재현기(Reproducer): React Native 자체의 packages/react-native/gradle/libs.versions.toml 파일이 okhttp = "4.9.2" / okio = "2.9.0"을 고정(pin)하고 있으며, okio 2.9.0은 CVE-2023-3635 / GHSA-w33c-445m-f8w7의 영향을 받고, 이는 okio 3.4.0에서 수정되었습니다.

이를 만들기 위해 수정된 앱 코드는 없습니다. ReproducerApp은 [email protected](이 템플릿의 현재 latest로, main의 0.87.0-main과 일치)을 대상으로 생성된 npx @react-native-community/cli init의 완전히 수정되지 않은 출력물입니다. 취약한 고정 버전은 소비 앱이 하는 어떤 것에서가 아니라 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 Native 자체의 react-android 아티팩트를 통해 전이적으로(transitively) 가져와집니다.


이것은 새로운 React Native 재현기 프로젝트입니다.

재현기 TODO 목록

  • 1. 새 재현기 프로젝트를 생성합니다.
  • 2. 저장소를 로컬에 Git clone합니다.
  • 3. 프로젝트를 수정하여 보고 있는 실패를 재현합니다.
  • 4. 변경 사항을 푸시하여 Github Actions가 CI를 실행할 수 있게 합니다.
  • 5. 저장소가 공개인지 확인하고 보고한 이슈와 링크를 공유합니다.

이 재현기 사용 방법

이 프로젝트는 npx @react-native-community/cli init으로 생성되었으며, 기본(vanilla) React Native 앱입니다.

[!IMPORTANT]
로컬에서 작동하는 환경을 갖추기 위해 React Native - 환경 설정을 완료했는지 확인하세요.

1단계: Metro 서버 시작

먼저, React Native와 함께 제공되는 JavaScript 번들러 인 Metro를 시작해야 합니다.

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 에뮬레이터 또는 iOS 시뮬레이터 에서 새 앱이 실행되는 것을 볼 수 있습니다.

이것은 앱을 실행하는 한 가지 방법입니다 — Android Studio 및 Xcode 내에서 각각 직접 실행할 수도 있습니다.

3단계: 앱 수정

이제 앱을 성공적으로 실행했으니, 수정해 봅시다.

  1. 원하는 텍스트 편집기에서 App.tsx를 열고 몇 줄을 수정하세요.

  2. Android용: R 키를 두 번 누르거나 개발자 메뉴(Ctrl + M (Windows 및 Linux) 또는 Cmd ⌘ + M (macOS))에서 "Reload" 를 선택하여 변경 사항을 확인하세요!

    iOS용: iOS 시뮬레이터에서 Cmd ⌘ + R을 눌러 앱을 다시 로드하고 변경 사항을 확인하세요!

도구 다운로드