🇰🇷 한글 설명
Craft CMS의 GraphQL Asset mutation에서 SSRF 검증 로직이 IPv4 주소만 처리하는 gethostbyname() 함수를 사용하여 발생하는 보안 취약점입니다. IPv6(AAAA 레코드)만 존재하는 호스트네임의 경우 검증을 우회하여 SSRF 공격이 가능하며, 이는 이전 취약점(CVE-2025-68437)에 대한 보안 패치를 우회하는 문제입니다. 적절한 GraphQL 권한을 가진 인증된 사용자가 이를 악용할 수 있습니다.
💡 쉬운 설명
웹사이트의 보안 검사를 속여서 공격자가 허용되지 않은 내부 서버에 접근할 수 있게 만드는 결함입니다. IPv6라는 새로운 주소 체계를 제대로 확인하지 못하는 점을 이용해 보안망을 빠져나갑니다.
🇺🇸 원문 (English)
Craft is a content management system (CMS). In versions 4.5.0-RC1 through 4.16.18 and 5.0.0-RC1 through 5.8.22, the SSRF validation in Craft CMS’s GraphQL Asset mutation uses `gethostbyname()`, which only resolves IPv4 addresses. When a hostname has only AAAA (IPv6) records, the function returns the hostname string itself, causing the blocklist comparison to always fail and completely bypassing SSRF protection. This is a bypass of the security fix for CVE-2025-68437. Exploitation requires GraphQL schema permissions for editing assets in the `<VolumeName>` volume and creating assets in the `<VolumeName>` volume. These permissions may be granted to authenticated users with appropriate GraphQL schema access and/or Public Schema (if misconfigured with write permissions). Versions 4.16.19 and 5.8.23 patch the issue.
📍 영향받는 시스템
Craft CMS 4.5.0-RC1 ~ 4.16.18 및 5.0.0-RC1 ~ 5.8.22
⚔️ 공격 벡터
GraphQL Asset mutation을 통한 IPv6 호스트네임 기반의 SSRF 우회 공격
🛡️ 대응 방법
Craft CMS를 최신 패치 버전인 4.16.19 또는 5.8.23 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 4.16.19 미만이거나 5.8.23 미만인 경우 취약한 상태입니다.
composer show craft/cms | grep 'versions'