🇰🇷 한글 설명
OpenWA 0.23.5 미만 버전에서 WebSocket 게이트웨이를 통해 권한이 없는 VIEW API 키로 세션 QR 코드가 노출되는 취약점이 발견되었습니다. 공격자는 노출된 QR 코드를 사용하여 외부 기기를 WhatsApp 계정에 연결함으로써 메시지를 읽거나 전송할 수 있습니다. 이 문제는 0.23.5 버전에서 수정되었습니다.
💡 쉬운 설명
권한이 낮은 사용자가 관리자만 볼 수 있는 QR 코드를 몰래 훔쳐볼 수 있는 보안 결함입니다. 이 QR 코드를 이용하면 해커가 사용자의 WhatsApp 계정에 몰래 접속하여 메시지를 가로채거나 보낼 수 있습니다.
🇺🇸 원문 (English)
OpenWA is a free, open source, self-hosted WhatsApp API gateway. Prior to 0.23.5, the /events WebSocket gateway delivers the session.qr event to a VIEWER API key that subscribes by event name or through either wildcard subscription form, even though GET /api/sessions/{sessionId}/qr requires the OPERATOR role. When an allowed session is waiting to be paired, the exposed QR lets the key holder link an external device to the WhatsApp account and then read and send messages outside OpenWA and its audit trail. Keys restricted through allowedSessions remain limited to those sessions, and deployments that issue only OPERATOR or ADMIN keys are not affected. This issue is fixed in version 0.23.5.
📍 영향받는 시스템
OpenWA versions prior to 0.23.5
⚔️ 공격 벡터
WebSocket 게이트웨리의 /events를 통한 세션 QR 코드 정보 유출 및 외부 기기 연결
🛡️ 대응 방법
OpenWA를 최신 버전인 0.23.5 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과가 'Vulnerable'이면 취약한 버전이며, 'Fixed'이면 안전한 버전입니다.
curl -s http://<target-ip>/api/version | grep -E '0\.[0-9]+\.[0-9]+' | awk '{print $2}' | awk -F. '$1==0 && $2<23 || $1==0 && $2==23 && $3<5 {print "Vulnerable"}; $1==0 && ($2>23 || ($2==23 && $3>=5)) {print "Fixed"}'