🇰🇷 한글 설명
PrestaShop의 Canada Post 모듈이 SSL 인증서의 호스트명 검증을 수행하지 않아, 공격자가 유효한 다른 인증서로 서버를 사칭할 수 있습니다. PHP의 fsockopen 함수 사용 시 인증서의 CN(Common Name) 또는 subjectAltName 필드를 검증하지 않아 중간자 공격에 취약합니다.
💡 쉬운 설명
PrestaShop의 배송 모듈이 Canada Post와 연결할 때 정말 Canada Post 서버인지 확인하지 않습니다. 해커가 가짜 서버를 만들어서 배송 정보를 가로챈 수 있습니다.
🇺🇸 원문 (English)
The Canada Post (aka CanadaPost) module in PrestaShop does not verify that the server hostname matches a domain name in the subject's Common Name (CN) or subjectAltName field of the X.509 certificate, which allows man-in-the-middle attackers to spoof SSL servers via an arbitrary valid certificate, related to use of the PHP fsockopen function.
📍 영향받는 시스템
Canada Post 모듈을 포함한 PrestaShop (구체적 버전: 1.5.x 이전)
⚔️ 공격 벡터
MITM(중간자) 공격으로 유효한 SSL 인증서를 이용해 Canada Post 서버 사칭
🛡️ 대응 방법
PrestaShop을 최신 버전으로 업데이트하거나 Canada Post 모듈을 비활성화/제거하고 인증서 검증을 구현한 버전 설치
🔧 검증 코드
결과에 fsockopen이나 stream_context_create가 있으면서 SSL verify 옵션이 없으면 취약함. 'verify_peer' => false 또는 verify 관련 설정이 없으면 위험
grep -r 'fsockopen\|stream_context_create' /var/www/prestashop/modules/canadapost/ 2>/dev/null | grep -v 'verify'