🇰🇷 한글 설명
Android용 cordova-plugin-x-socialsharing(버전 6.0.4)에서 exported된 broadcast receiver가 Intent.EXTRA_CHOSEN_COMPONENT 값을 검증 없이 참조하여 NullPointerException을 발생시킵니다. 공격자가 조작된 ACTION_SEND 브로드캐스트를 전송하면 해당 플러그인을 사용하는 앱을 강제 종료시킬 수 있습니다.
💡 쉬운 설명
특정 앱이 사용하는 공유 기능에 결함이 있어, 악의적인 앱이 가짜 신호를 보내면 해당 앱이 갑자기 꺼질 수 있습니다. 이는 사용자 데이터를 훔치는 것은 아니지만, 앱을 정상적으로 사용할 수 없게 만듭니다.
🇺🇸 원문 (English)
The Cordova plugin cordova-plugin-x-socialsharing (SocialSharing-PhoneGap-Plugin) for Android 6.0.4, registers an exported broadcast receiver nl.xservices.plugins.ShareChooserPendingIntent with an android.intent.action.SEND intent filter. The onReceive implementation accesses Intent.EXTRA_CHOSEN_COMPONENT without checking for null. If a broadcast is sent with extras present but without EXTRA_CHOSEN_COMPONENT, the code dereferences a null value and throws a NullPointerException. Because the receiver is exported and performs no permission or caller validation, any local application on the device can send crafted ACTION_SEND broadcasts to this component and repeatedly crash the host application, resulting in a local, unauthenticated application-level denial of service for any app that includes the plugin.
📍 영향받는 시스템
cordova-plugin-x-socialsharing (SocialSharing-PhoneGap-Plugin) Android 6.0.4
⚔️ 공격 벡터
기기 내의 다른 앱이 조작된 EXTRA_CHOSEN_COMPONENT가 없는 ACTION_SEND 브로드캐스트를 전송하여 DoS 유발
🛡️ 대응 방법
해당 플러그인을 최신 버전으로 업데이트하거나, Intent 수신 시 null 체크 로직을 추가하여 패치해야 합니다.
🔧 검증 코드
출력된 결과에서 해당 플러그인의 버전이 6.0.4인지 확인합니다.
npm list cordova-plugin-x-socialsharing
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
💻 영향받는 소프트웨어
Microsoft Edge for Android