🇰🇷 한글 설명
3proxy 0.9.7부터 1.0.1 버전에서 외부-NAT(-Ne) 옵션 설정 시 SOCKS4 응답 경로를 통해 초기화되지 않은 스택 메모리가 노출되는 취약점이 발견되었습니다. 공격자는 SOCKS 버전 확인을 실패하게 만드는 클라이언트 프로브를 전송하여 sin 구조체의 초기화되지 않은 바이트를 유출할 수 있으며, 이는 ASLR 보호 기능을 약화시킵니다.
💡 쉬운 설명
프로그램이 메모리를 깨끗이 지우지 않고 재사용하면서, 원래는 보여주면 안 되는 중요한 데이터 조각이 외부로 흘러나가는 문제입니다. 이 정보가 유출되면 해커가 컴퓨터의 방어 체계를 무력화하는 데 도움을 줄 수 있습니다.
🇺🇸 원문 (English)
3proxy from 0.9.7 through 1.0.1, fixed in commit 206c923, contains an uninitialized stack memory disclosure vulnerability that allows unauthenticated attackers to leak stack bytes via the SOCKS4 reply path when the external-NAT option (-Ne) is configured. Attackers can send a client probe that fails the SOCKS version check to trigger a reply containing uninitialized bytes from the sin structure, exposing high bytes of a userspace pointer that weakens ASLR protections.
📍 영향받는 시스템
3proxy 0.9.7 ~ 1.0.1 (external-NAT 옵션 사용 시)
⚔️ 공격 벡터
SOCKS4 버전 확인을 실패하도록 유도하는 특수 클라이언트 프로브 전송
🛡️ 대응 방법
커밋 206c923이 적용된 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전이 0.9.7보다 낮거나 1.0.1보다 높으면 안전하며, 해당 범위 내에 있으면 취약할 수 있습니다.
dpkg -l | grep 3proxy 2>/dev/null || rpm -q 3proxy 2>/dev/null || 3proxy -v