BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

REXML发现严重DoS攻击漏洞──可通过动态补丁来修正

| 作者 Werner Schuster 关注 9 他的粉丝 ,译者 刘申 关注 0 他的粉丝 发布于 2008年8月29日. 估计阅读时间: 1 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点
XML实体会引起 REXML中一种新的DoS攻击。定义并使用递归嵌套实体的文档会造成实体的过度膨胀(escessive espansion),最终导致应用程序的瘫痪。

Rails
的这个问题尤为明显,因为它是通过REXML解析进来的XML请求。因为这种情况默认就会发生,并且根据请求的文档类型儿有所差异,所以这种攻击对所有Rails应用都是一种威胁,除非那些应用禁用了自动处理用户XML的功能。

现在,所有1.86-p287、1.97-p72和1.9.x版本的Ruby都会存在这个问题。对当前的JRuby 1.1.x版本做了一个小测试,用它来解析某个XML文档样本,结果抛出了OutOfMemoryError错误。(注意:这个问题只有在实体扩张时才会被触发,普通的解析是不会产生任何问题的──必须在能读取包含实体的文本节点时候才会发生这个问题)。

在未给REXML打补丁之前,是通过给REXML模块中的文档和实体类打动态补丁来弥补这个漏洞的。这个补丁主要是限制(此限制是可调的)了膨胀实体的数量,当超过了这个数量,则会抛出一个异常。

此漏洞的安全说明页面介绍了如何打补丁,从而确保不同版本的Rails都适用。

查看英文原文:Critical REXML DoS Found - Monkey Patch Available as Fix

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT