2011-07-09 48 views
3

我有這些奇怪的消息,我的服務器崩潰之前:Jboss Seam Interpolator:它可以用於執行命令(java.lang.Runtime.exec)嗎?

[ (org.jboss.seam.core.Interpolator)] exception interpolating string: #{(expressions.getClass().forName('java.lang.Runtime').getDeclaredMethods()[6]).invoke(expressions.getClass().forName('java.lang.Runtime')).exec('ls')} 
javax.el.ELException: java.io.IOException: Cannot run program "ls": java.io.IOException: error=12, Cannot allocate memory 

這接縫,我認爲有人試圖執行的東西,通過內插器類。我發現這些代碼,從接縫的早期版本:

http://www.java2s.com/Open-Source/Java-Document/JBoss/jboss-seam-2.1.0.A1/org/jboss/seam/core/Interpolator.java.htm

我發現這些後

How to solve "java.io.IOException: error=12, Cannot allocate memory" calling Runtime#exec()?

但在我而言,我並不想解決這個問題,我想限制它。

我可以通過安全管理器阻止系統執行嗎? 你有什麼建議來防止這種執行嗎?

在此先感謝。

回答

2

你確定它是你的代碼試圖在你的服務器上運行「ls」嗎?如果不是,它看起來像有人試圖利用縫2 this問題在這種情況下,你應該升級到縫2.2.2.Final

+0

我幾乎可以肯定是不適合的應用程序所必需的代碼,但因爲它是一個大項目,我不得不諮詢其他團隊。我們也將看到將這些步驟遷移到最新的穩定2.x分支,我們已經安排了它,但現在它將成爲一個優先事項。非常感謝你。 – Awi

相關問題