返回首页 Groovy 入门

Getting started

安全更新

下面介绍 Groovy 的安全补丁或更新信息。注意,除非有特别说明,否则不会有二进制或源补丁。要想获得补丁文件,需要升级到最新版本的 Groovy。

2.4.4 之前的版本并不是 Apache 发布的,所以没有关于老版本的安全更新官方补丁。

Groovy 2.4.x 缺陷

Groovy 2.4.4 已修补

重要缺陷:CVE-2015-3253: 非信任代码的远端执行

描述:

当 Groovy 在应用程序的类路径中时,应用可以采用 Java 的序列化机制来与服务器进行通信,或者存储本地数据。攻击者就可能会采用一个特殊的序列化对象,直接在反序列化时执行某种代码。所有依赖序列化,并且无法隔离反序列化对象代码的应用都会受此缺陷影响。

缓解措施

Apache Groovy 2.4.4 是 Apache Software Foundation 最先发布也是只支持的官方版本。强力建议所有使用序列化机制的用户都升级到该版本。如果无法升级或者依赖老版本,可以在 MethodClosure 类(src/main/org/codehaus/groovy/runtime/MethodClosure.java)上使用下列补丁:

 public class MethodClosure extends Closure {
+    private Object readResolve() {
+        throw new UnsupportedOperationException();
+    }

另外,你还应该确认是否使用了自定义的安全策略文件(使用标准的 Java 安全管理器),或者确认你没有依赖序列化机制来进行远程通信。

鸣谢

该缺陷是由惠普的 “零日计划”(Zero Day Initiative)研究员 cpnrodzc7 所发现的。

上一篇: Groovy 与应用的... 下一篇: 设计模式