2015-11-12 16 views
5

昨日宣佈有關反序列化漏洞(CVE-2015-4852):SpringFramework是否使用commons.collections的InvokerTransformer?

https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread

springframework的使用commons.collections。

如果SpringFramework使用InvokerTransformer,它可能容易受到反序列化漏洞(CVE-2015-4852)的攻擊。

SpringFramework使用commons.collections的InvokerTransformer的問題?

+0

你有沒有嘗試過源代碼? – Marged

+0

我會下載一個grep的源碼。可能有人已經有代碼,並可以grep :) – Michael

+0

是不是更重要的問題是否有什麼在Spring Framwork反序列化用戶提供的序列化對象?此時,如果存在commons-collection(因爲製作的vuln使用'InvokerTransform'),並且Spring被送入一個序列化對象,則存在風險。 –

回答

4

3.更新:這是于爾根低窪的回答讓我Jira issues

Spring框架不以任何方式使用共享集合。如果你的 在你的類路徑上有它,它可能只是在你選擇的另一個依賴項 之後,比如OpenJPA。

也就是說,我們在SPR-13656中有一個相關的問題,我們已經在修復我們的一個類別 以防止在這種情況下被濫用。 請注意,如果您將基於序列號的端點 暴露給不受信任的客戶端,則這只是很重要。春天默認不會做任何這樣的暴露 ;它的意思是你的應用程序明確地通過使用HTTP Invoker或RMI Invoker來選擇 。

克林斯曼


2.更新:Spring框架4.2.3版和4.1.9 aren't vulnerable一個有關的問題。


我搜索了spring-framework項目,並沒有發現任何使用org.apache.commons.collections.(Transformer|InvokerTransformer|MapTransformer)至今。 這並不意味着一些Spring子項目使用InvokerTransformer

jira.spring.io快速搜索並沒有發現任何問題,現在:

https://jira.spring.io/issues/?jql=text%20~%20%22invoketransformer%22

https://jira.spring.io/issues/?jql=text%20~%20%22CVE-2015-4852%22

也許樞紐官員能澄清這一點。我提起了Jira issues

1

我認爲這個問題不是正確的。

這個CVE的好問題是: 是apache commons集合中的classpath嗎?(更具體地說是InvokerTransformer)

如果答案是肯定的,如果應用程序反序列化來自任何不安全來源的對象,應用程序是絕對易受攻擊的。

如果答案是否定的,應用程序不容易受到Invokertransformer CVE的攻擊,但是如果它仍然沒有進行適當的檢查,仍然會從不受信任的來源反序列化對象,那麼它仍然可能容易受到其他類型的攻擊。

這個問題主要來自序列化和反序列化的能力......所以InvokerTransformer只是不安全實踐冰山的可見部分。儘管如此,這是一個大而簡單的命中。

當序列化版本不受控制時反序列化對象意味着拆包魔盒

相關問題