🔍 CVE-2026-33534

4.3
CVSS Score
MEDIUM
2026-04-13
2026-06-17 10:37
✅ 완료

🇰🇷 한글 설명

EspoCRM 9.3.3 이하 버전에서 SSRF 취약점이 발견되었습니다. 인증된 사용자가 8진법 표기법(0177.0.0.1) 같은 대체 IPv4 표현을 사용하여 내부 호스트 검증을 우회할 수 있으며, /api/v1/Attachment/fromImageUrl 엔드포인트를 통해 로컬호스트로 요청을 강제하고 응답을 첨부파일로 저장할 수 있습니다.

💡 쉬운 설명

EspoCRM이라는 고객관리 프로그램에서 인증된 사용자가 특수한 주소 형식을 이용해 프로그램이 내부 서버에 몰래 요청을 보내도록 만들 수 있습니다. 이를 통해 외부에서 접근할 수 없는 내부 정보에 접근할 수 있습니다.

🇺🇸 원문 (English)

EspoCRM is an open source customer relationship management application. Versions 9.3.3 and below have an authenticated Server-Side Request Forgery (SSRF) vulnerability that allows bypassing the internal-host validation logic by using alternative IPv4 representations such as octal notation (e.g., 0177.0.0.1 instead of 127.0.0.1). This is caused by HostCheck::isNotInternalHost() function relying on PHP's filter_var(..., FILTER_VALIDATE_IP), which does not recognize alternative IP formats, causing the validation to fall through to a DNS lookup that returns no records and incorrectly treats the host as safe, however the cURL subsequently normalizes the address and connects to the loopback destination. Through the confirmed /api/v1/Attachment/fromImageUrl endpoint, an authenticated user can force the server to make requests to loopback-only services and store the fetched response as an attachment. This vulnerability is distinct from CVE-2023-46736 (which involved redirect-based SSRF) and may allow access to internal resources reachable from the application runtime. This issue has been fixed in version 9.3.4.

📍 영향받는 시스템

EspoCRM 버전 9.3.3 이하

⚔️ 공격 벡터

인증된 사용자가 /api/v1/Attachment/fromImageUrl 엔드포인트에 8진법 IPv4 주소(예: 0177.0.0.1)를 포함한 요청을 전송

🛡️ 대응 방법

EspoCRM을 버전 9.3.4 이상으로 업그레이드

🔧 검증 코드

출력에서 "9.3.4" 이상이 보이면 패치된 상태이고, "9.3.3" 이하이거나 출력이 없으면 취약합니다.

Shell / Script
grep '"version"' /opt/espocrm/composer.json 2>/dev/null || grep '"version"' /var/www/espocrm/composer.json 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

PHP