最新消息:图 床

Spring Data Rest服務器PATCH請求遠程代碼執行漏洞CVE-2017-8046補充分析

COOL IAM 203浏览 0评论

來源:先知安全技術社區
作者:廖新喜

1 綜述

近日,Pivotal 官方發布通告表示 Spring-data-rest 服務器在處理 PATCH 請求時存在一個遠程代碼執行漏洞(CVE-2017-8046)。攻擊者可以構造惡意的 PATCH 請求併發送給 spring-date-rest 服務器,通過構造好的 JSON 數據來執行任意 Java 代碼。官方已經發布了新版本修復了該漏洞。

相關地址:
https://pivotal.io/security/cve-2017-8046

受影響的版本

  • Spring Data REST versions < 2.5.12, 2.6.7, 3.0 RC3
  • Spring Boot version < 2.0.0M4
  • Spring Data release trains < Kay-RC3

不受影響的版本

  • Spring Data REST 2.5.12, 2.6.7, 3.0RC3
  • Spring Boot 2.0.0.M4
  • Spring Data release train Kay-RC3

解決方案:

官方已經發布了新版本修復了該漏洞,受影響的用戶請儘快升級至最新版本來防護該漏洞。

參考鏈接:

https://projects.spring.io/spring-data-rest/
https://projects.spring.io/spring-boot/

2 補丁分析

從官方的描述來看就是就是 Spring-data-rest 服務處理 PATCH 請求不當,導致任意表達式執行從而導致的 RCE。

首先來看下補丁,主要是 evaluateValueFromTarget 添加了一個校驗方法 verifyPath,對於不合規格的 path 直接報異常退出,主要是 property.from(pathSource,type)實現,基本邏輯就是通過反射去驗證該 Field 是否存在於 bean 中。

转载请注明:IAMCOOL » Spring Data Rest服務器PATCH請求遠程代碼執行漏洞CVE-2017-8046補充分析

0 0 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x