🔍 CVE-2018-1272

7.5
CVSS Score
HIGH
2018-04-06
2026-06-17 01:50
✅ 완료

🇰🇷 한글 설명

Spring Framework의 multipart 요청 처리 과정에서 발생하는 취약점으로, 서버 A가 클라이언트의 입력을 받아 서버 B로 전달할 때 요청 본문에 임의의 multipart 데이터를 삽입할 수 있습니다. 이를 통해 공격자는 서버 B가 예상치 못한 값을 읽게 만들어 권한 상승 등의 문제를 일으킬 수 있습니다.

💡 쉬운 설명

서버가 다른 서버로 데이터를 전달할 때, 중간에 가짜 데이터를 끼워 넣어 서버를 속이는 공격입니다. 이를 통해 공격자가 관리자 권한을 획득하는 등의 위험이 발생할 수 있습니다.

🇺🇸 원문 (English)

Spring Framework, versions 5.0 prior to 5.0.5 and versions 4.3 prior to 4.3.15 and older unsupported versions, provide client-side support for multipart requests. When Spring MVC or Spring WebFlux server application (server A) receives input from a remote client, and then uses that input to make a multipart request to another server (server B), it can be exposed to an attack, where an extra multipart is inserted in the content of the request from server A, causing server B to use the wrong value for a part it expects. This could to lead privilege escalation, for example, if the part content represents a username or user roles.

📍 영향받는 시스템

Spring Framework 5.0.x (5.0.5 미만), 4.3.x (4.3.15 미만) 및 이전 지원 종료 버전

⚔️ 공격 벡터

클라이언트가 보낸 multipart 요청 데이터를 조작하여 서버 간 통신 과정에서 데이터 삽입(Injection) 수행

🛡️ 대응 방법

Spring Framework를 5.0.5 또는 4.3.15 이상의 최신 보안 패치 버전으로 업데이트

🔧 검증 코드

명령어 결과에 취약한 버전 범위의 Spring 라이브러리가 출력되면 해당 취약점에 노출된 상태입니다.

Shell / Script
mvn dependency:list | grep -E 'spring-web|spring-context' | grep -E '5\.0\.[0-4]|4\.3\.[0-1][0-4]'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Spring Framework