🇰🇷 한글 설명
XX-Net V5.16.6의 simple_http_server.py 내 WebSocket_receive_worker 루틴에서 WebSocket 프레임 파싱 취약점이 발견되었습니다. 공격자가 마스킹되지 않은 WebSocket 프레임을 전송할 경우, 서버가 MASK 비트 설정 여부와 관계없이 4바이트를 마스킹 키로 읽어 들여 데이터가 손상됩니다. 또한 RSV 비트, Opcode, FIN 단편화 검증이 누락되어 데이터 무결성이 훼손될 수 있습니다.
💡 쉬운 설명
웹 서버가 데이터를 읽을 때 규칙을 제대로 확인하지 않아 발생하는 오류입니다. 공격자가 특수한 데이터를 보내면 서버가 데이터를 잘못 해석하여 프로그램이 망가질 수 있습니다.
🇺🇸 원문 (English)
XX-Net V5.16.6 contains a WebSocket frame parsing vulnerability in the WebSocket_receive_worker routine of simple_http_server.py that allows attackers to cause corrupted application data by sending unmasked WebSocket frames. The server unconditionally reads 4 bytes as a masking key regardless of whether the MASK bit is set in the frame header, causing the first 4 bytes of payload to be consumed as a mask key and the remaining payload to be incorrectly XOR-decoded, resulting in data corruption alongside missing RSV bit, opcode, and FIN fragmentation validations.
📍 영향받는 시스템
XX-Net V5.16.6 이하 버전
⚔️ 공격 벡터
마스킹되지 않은(unmasked) 특수 제작된 WebSocket 프레임을 서버로 전송
🛡️ 대응 방법
XX-Net을 최신 보안 패치가 적용된 버전으로 업데이트하거나 WebSocket 프레임 검증 로직을 수정해야 합니다.
🔧 검증 코드
명령어 결과가 VULNERABLE이면 취약한 버전이며, SAFE이면 안전한 버전입니다.
python3 -c "import re; import pkg_resources; print('VULNERABLE' if re.match(r'^5\[0-1][6]\.', pkg_resources.get_distribution('xx-net').version) else 'SAFE')" 2>/dev/null
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server