安全更新
下面介绍 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 与应用的...
下一篇: 设计模式