🔍 CVE-2017-17672

9.8
CVSS Score
CRITICAL
2017-12-14
2026-05-13 00:24
✅ 완료

🇰🇷 한글 설명

vBulletin 5.3.x 이하에서 PHP unserialize() 함수의 안전하지 않은 사용으로 인한 비인증 역직렬화 취약점으로, 공개 API인 cacheTemplates() 함수의 templateidlist 매개변수를 통해 악용됩니다. 이를 통해 임의의 파일 삭제 및 특정 조건에서 원격 코드 실행이 가능합니다.

💡 쉬운 설명

vBulletin 포럼에서 로그인 없이 특정 요청을 보내면 서버가 악의적인 데이터를 처리하여 파일을 삭제하거나 코드를 실행할 수 있습니다. 누구나 인터넷에서 이 공격을 시도할 수 있어서 매우 위험합니다.

🇺🇸 원문 (English)

In vBulletin through 5.3.x, there is an unauthenticated deserialization vulnerability that leads to arbitrary file deletion and, under certain circumstances, code execution, because of unsafe usage of PHP's unserialize() in vB_Library_Template's cacheTemplates() function, which is a publicly exposed API. This is exploited with the templateidlist parameter to ajax/api/template/cacheTemplates.

📍 영향받는 시스템

vBulletin 5.3.x 이하 모든 버전

⚔️ 공격 벡터

비인증 사용자가 ajax/api/template/cacheTemplates 엔드포인트에 조작된 templateidlist 파라미터를 POST로 전송

🛡️ 대응 방법

vBulletin을 5.4.0 이상으로 업데이트하거나 unserialize() 호출 전에 입력값 검증 및 화이트리스트 기반 필터링 적용

🔧 검증 코드

'Patched' 출력 = 패치됨, 'Vulnerable' 또는 정상 응답 = 취약함. 실제 검증은 대상 시스템의 권한이 있을 때만 수행

Shell / Script
curl -s http://target/ajax/api/template/cacheTemplates -d 'templateidlist=1' -H 'Content-Type: application/x-www-form-urlencoded' | grep -q 'error' && echo 'Patched' || echo 'Vulnerable'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP