2012-04-25 5 views
7

私は記事Open source library with vulnerabilitiesに出くわしました。Spring - SpELは脆弱ですか?

この記事では、 「攻撃者が機密性の高いシステムデータ、アプリケーション、およびユーザーのCookieを取得するためのHTTPパラメータ提出によって、春の表現言語(SpEL)が悪用される可能性があります。

誰かがこれにもっと光を当てることができますか?

答えて

3

このアスペクトセキュリティ/マインドセキュリティevaluation of SpELgoogle docs link)(あなたがリンクしている記事がおそらくSpELの特定の場合)をチェックアウトしてください。

特定のスプリングJSPタグがEL式をどのように評価するかを記述します。これらの場合、ユーザがSpELの形式でサーバにデータを提出することが可能であり得る。値${bean.val}持つリクエストパラメータ(URLエンコード)

http://...?exp=$%7Bbean.val%7D 

内部JSPページとして、表現${param.exp}は、それ自体で安全であるテキスト${bean.val}に解決されます。しかし、その式がスプリングJSTLタグの属性内に存在する場合、その解決された値は再び評価されてもよい。 spring:messageタグに:

<spring:message message="${param.exp}" /> 

${bean.val}bean.getVal()方法を評価しますspring:messageタグに通過された値になります。これで、クライアントから送信され、サーバー上で実行されるコードが作成されました。

+1

がはるかに高い参照してください。私はすでにそれを読んでいる、実際には – blackdrag

+0

@blackdragありがとう、私はすでに答えを投票した。このポストとPieterの両方は、元の質問に「誰かがこれにもっと光を当てることができますか?」という2つの異なる答えを提供します。この脆弱性の解決策については、Pieterの回答でSpringSourcesの歴史とSpringのバージョンについて解説していますが彼らは両方とも "光を放つ" IMOは異なった方法で両方とも "実際の"答えです。 – krock

+0

私は同意する、彼らは両方の問題を明らかにした。2012年以前から修正されていることのみです。報告書が尋ねられた時点で既に古くなっていた最も貴重な情報が欠落しています。だからこそ私はその答えを「実際の」ものとは考えていません。 – blackdrag

27

アスペクトセキュリティによる発見は2013年1月に発見されましたが、SpringSourceが公開した修正は、これが初めて発見されたときに2011年に公開されました。 Aspect SecurityのDan Amodioは、SpringSourceにリモートコード実行の可能性について通知しました。

のSpringSourceは、アスペクトSecurityの知見と、当社のセキュリティレポート2012年12月6日の更新 - しかし、元のアドバイザリに記載されている/緩和修正がまだ適用されます。http://support.springsource.com/security/cve-2011-2730

この脆弱性は、唯一のSpring Frameworkのバージョンに影響します。

•3.0.0〜3.0.5 - ここで3.0.6にアップグレードすると問題が解決します。 •2.5.0〜2.5.6.SEC02(コミュニティリリース) - ここで2.5.6.SEC03にアップグレードすると問題が解決します。 •2.5.0〜2.5.7.SR01(サブスクリプション顧客) - ここで2.5.7.SR02にアップグレードすると問題が解決します。

これは、今後のすべてのバージョンで修正されました - SpringFrameworkの現在のリリースは3.2で、12月2012年にリリースされ

おかげで、

-Pieter(SpringSourceの)

関連する問題