🇰🇷 한글 설명
Geyser는 Minecraft Bedrock Edition과 Java Edition을 연결하는 브리지입니다. 2.9.3 이전 버전에서는 Bedrock 플레이어 머리 텍스처 데이터 처리 과정에 SSRF(서버 측 요청 위조) 취약점이 존재합니다. 공격자는 /give 명령어로 조작된 Base64 인코딩 스킨 텍스처 URL을 전달해 서버가 임의의 HTTP GET 요청을 내부 또는 외부 엔드포인트로 보내도록 할 수 있습니다.
💡 쉬운 설명
Minecraft 서버가 공격자가 지정한 주소로 대신 접속 요청을 보내도록 속일 수 있는 취약점입니다. 서버 내부망 정보 노출 등에 악용될 수 있습니다.
🇺🇸 원문 (English)
Geyser is a bridge between Minecraft: Bedrock Edition and Minecraft: Java Edition. Prior to 2.9.3, a server-side request forgery (SSRF) vulnerability exists in Geyser’s handling of Bedrock player head texture data. By supplying a crafted Base64-encoded skin texture URL via the /give command, an attacker can cause the Minecraft server to issue arbitrary HTTP GET requests to attacker-controlled or internal endpoints. This occurs server-side, without proper URL validation, and can be triggered by a Bedrock client. This vulnerability is fixed in 2.9.3.
📍 영향받는 시스템
Geyser 2.9.3 미만 버전을 사용하는 Minecraft Bedrock-Java 크로스플레이 서버
⚔️ 공격 벡터
Bedrock 클라이언트에서 조작된 Base64 스킨 텍스처 URL을 포함한 /give 명령어를 실행해 서버 측 임의 HTTP 요청을 유도
🛡️ 대응 방법
Geyser를 2.9.3 이상으로 업데이트
🔧 검증 코드
출력된 Implementation-Version 값이 2.9.3 미만이면 취약, 2.9.3 이상이면 패치 적용된 것입니다. 출력이 없으면 Geyser가 설치되지 않은 것입니다.
find / -name 'Geyser*.jar' 2>/dev/null -exec unzip -p {} META-INF/MANIFEST.MF \; | grep -i 'Implementation-Version'