CVE-2025-61765
python-socketio가 특정 다중 서버 배포 환경에서 악의적인 pickle 역직렬화를 통한 임의 Python 코드 실행(RCE)에 취약
- 게시됨
- 2025. 10. 6.
- 업데이트됨
- 2025. 10. 22.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 8.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L낮음 · 다음 30일
- 백분위수
- 40.6%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
python-socketio는 Socket.IO 실시간 클라이언트 및 서버의 Python 구현체입니다. 5.14.0 이전 버전의 python-socketio에 있는 원격 코드 실행 취약점으로 인해, 공격자가 서버 간 내부 통신에 사용되는 메시지 큐에 대한 접근 권한을 사전에 획득한 다중 서버 배포 환경에서 악의적인 pickle 역직렬화를 통해 임의의 Python 코드를 실행할 수 있습니다. Socket.IO 서버가 서버 간 통신을 위해 Redis와 같은 메시지 큐 백엔드를 사용하도록 구성된 경우, 서버 간에 전송되는 메시지는 `pickle` Python 모듈을 사용하여 인코딩됩니다. 서버가 메시지 큐를 통해 이러한 메시지 중 하나를 수신하면, 이를 신뢰된 것으로 간주하고 즉시 역직렬화합니다. 이 취약점은 Python의 `pickle.loads()` 함수를 사용한 메시지 역직렬화에서 비롯됩니다. 공격자는 이전에 메시지 큐에 대한 접근 권한을 획득한 상태에서, Python의 `__reduce__` 메서드를 통해 역직렬화 중 임의의 코드를 실행하는 조작된 pickle 페이로드를 python-socketio 서버에 보낼 수 있습니다. 이 취약점은 메시지 큐가 손상된 배포 환경에만 영향을 미칩니다. 이 공격으로 인해 공격자는 Socket.IO 서버 프로세스의 컨텍스트와 권한으로 임의의 코드를 실행할 수 있습니다. 메시지 큐를 사용하지 않는 단일 서버 시스템과 보안이 유지되는 메시지 큐를 사용하는 다중 서버 시스템은 취약하지 않습니다. 메시지 큐 배포 시 표준 보안 관행을 따르도록 하는 것 외에도, python-socketio 패키지 사용자는 5.14.0 이상 버전으로 업그레이드할 수 있습니다. 해당 버전에서는 `pickle` 모듈을 제거하고 서버 간 메시징에 훨씬 안전한 JSON 인코딩을 사용합니다.
소스
1Socket.IO의 안전하지 않은 pickle 역직렬화 취약점에 대한 PoC
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.