🇰🇷 한글 설명
smartbanner.js 1.14.1 미만 버전에서 'View' 링크 클릭 시 window.opener 객체가 노출되는 취약점이 발견되었습니다. 이를 통해 악의적인 제3자가 원래 페이지로 리다이렉션하거나 코드를 주입하는 등의 공격을 수행할 수 있습니다.
💡 쉬운 설명
앱 설치 안내 배너의 버튼을 눌렀을 때, 새로 열린 페이지가 원래 페이지를 마음대로 조종할 수 있는 보안 허점이 있습니다. 이로 인해 원래 웹사이트가 가짜 사이트로 바뀌거나 해킹될 위험이 있습니다.
🇺🇸 원문 (English)
smartbanner.js is a customizable smart app banner for iOS and Android. Prior to version 1.14.1, clicking on smartbanner `View` link and navigating to 3rd party page leaves `window.opener` exposed. It may allow hostile third parties to abuse `window.opener`, e.g. by redirection or injection on the original page with smartbanner. `rel="noopener"` is automatically populated to links as of `v1.14.1` which is a recommended upgrade to resolve the vulnerability. Some workarounds are available for those who cannot upgrade. Ensure `View` link is only taking users to App Store or Google Play Store where security is guarded by respective app store security teams. If `View` link is going to a third party page, limit smartbanner.js to be used on iOS that decreases the scope of the vulnerability since as of Safari 12.1, `rel="noopener"` is imposed on all `target="_blank"` links. Version 1.14.1 of smartbanner.js contains a fix for the issue.
📍 영향받는 시스템
smartbanner.js 1.14.1 미만 모든 버전
⚔️ 공격 벡터
제3자 페이지로 연결되는 smartbanner의 'View' 링크를 클릭하여 window.opener 객체를 탈취 및 악용
🛡️ 대응 방법
smartbanner.js를 최신 버전인 1.14.1 이상으로 업그레이드하거나, 링크에 rel="noopener" 속성을 수동으로 추가합니다.
🔧 검증 코드
명령어 결과에 smartbanner.js 버전이 1.14.1 미만으로 나타나면 취약한 상태입니다.
grep -r "smartbanner.js" . | grep -v "1.14.1"