Ruby 发现众多安全缺陷,Safe Level、WEBrick、Dl 和 DNS 查找皆受影响
- 2008-08-11
本文字数:504 字
阅读完需:约 2 分钟
其中的一个问题来自 safe levels 。通过设置 safe level,可以禁止操作和定义被认为是污染了的数据。Ruby 中的污染数据(Tainted Data)在使用前必须显式的净化。被发现的安全缺陷有:- untrace_var 在 safe level 4 是允许的
- $PROGRAM_NAME 在 safe level 4 是可以修改的
- 不安全的方法在 safe level 1-3 可能可以调用
- Syslog 操作在 safe level 4 是允许的
请看带有代码实例的缺陷列表。另一个和污染数据相关的问题来自于 dl。dl 程序库允许用户载入动态库并调用其中的函数。因为 dl 并没有检测传入参数的被污染程度,因此可以借此来实现缓冲区溢出(exploits)攻击。
在 WEBrick 中也发现了安全缺陷,这可能会导致拒绝服务(DoS)攻击。问题源自用于响应和解析 HTTP 头的部分代码导致──在特定的数据下,正则引擎会挂掉导致程序终止。
对于 1.8.x 的用户,解决方法是升级至 1.8.6-p286 和 1.8.7-p71。对于 1.9.x 的 Ruby 用户,似乎当前最好的解决方法就是从 SVN 中取得最新的代码──所有在 r18423 之后的版本应该都是安全的。
最后,提醒一句:虽然最近发现的 Ruby 解释器的问题已经解决了──但是第一个修复版存在兼容性的问题。在将其正式投入产品级应用以前,要对升级进行仔细的测试。
更多内容推荐
Ruby VM 近况:1.9.2 增加 DTrace 支持、Rubinius 1.0 RC2 添加安装程序、IronRuby IDE
Rubinius 1.0 RC2添加了二进制安装程序,Ruby 1.9.2将支持DTrace。IronRuby离1.0又近了一步,SharpDevelop 3.1开始支持IronRuby。此外,WEBRick用户应该考虑升级到最新的Ruby 1.8.x和1.9.1,因为最近发现了一个缺陷。
Ruby IDE 快报:JetBrains 发布 Rubymine 4.0,Ruby for NetBeans 7.1 正在开发
JetBeans发布Ruby IDE RubyMine 4。这个版本的重点是更好性能,包含累积改进,以及在多个地方的改善。对于NetBeans 7.1,社区发布了Ruby的支持的预览版。
10 分钟带你彻底搞懂 Spring Cloud Config 配置信息自动更新原理
2022-03-29
Ruby 1.9.1 升级,修正堆溢出问题
Ruby 1.9.1-p376发布,在所修正的bug中,最重要的是修正了一个堆溢出问题。
Ruby 2.0 Preview 1 发布,正式版将于 2013 年 2 月发布
Ruby 2.0的发布经理Yusuke Endoh宣布Ruby 2.0的第一个预览版本发布,正式版将于2013年2月发布。InfoQ对Yusuke进行了访谈,了解了Ruby 2.0重要的新特性(Refinement、keyword arguments、 Enumerator#lazy等等)以及用户在升级时需要注意什么。
Rails 3 首个 Beta 版发布
Rails 3的首个beta版已经发布。Rails 3对代码进行了大规模的重写,带来了稳定的API和来自Merb的设计理念,拥有更清晰的内部实现和性能上的提升等等。InfoQ将带您了解Rails 3的变化,以及各个Ruby实现对它的支持情况。
21 款强化 Ruby Web 应用程序的 Rack 中间件
Peter Cooper在Ruby Inside发表了一篇文章,介绍了21款能使你的Ruby Web应用程序变得更加强大的Rack中间件。
libpng 库发现漏洞
近日,有消息指出流行且广泛使用的libpng库发现了一个漏洞,导致众多依赖于它来提供PNG图片支持的应用会遭受到攻击。系统管理员与应用开发者应该尽快更新系统。
MacRuby 综述:0.7 发布、基于 GCD 的 Web 服务器以及 BridgeSupport
近日,MacRuby 0.7发布了,除了常规的性能与兼容性改进外还包含了对Ruby 1.9.2支持。为了说明MacRuby与Snow Leopard的Grand Central Dispatch(GCD)的紧密集成,MacRuby团队还发布了ControlTower,这是一个基于Rack的Web服务器。此外,凭借新的BridgeSupport,开发者可以脚本形式访问所有的本地API。
特别加餐 | ChatGPT 类 AI 聊天机器人能看懂正则表达式?
我们今天的主题就聚焦在正则表达式与ChatGPT类AI智能聊天机器人,看看AI聊天机器人能在哪些方面帮助我们更好地使用正则表达式。
2023-05-31
即将来临的 Rails 4.0 将放弃 Ruby 1.8 支持,改进后台任务、缓存等多项内容
即将来临的Rails 4.0将放弃Ruby 1.8支持,提供了多项新特性。其中最重要的是支持针对mass-assignment的强参数、针对后台任务的新队列以及缓存方面的改进。
用户为什么“买贵不买值”又为何“说一套做一套”(下)
2022-11-23
35|未雨绸缪:怎样通过静态与动态代码扫描保证代码质量?
这节课让我们继续优化代码,让程序可配置化。然后通过静态与动态的代码扫描发现程序中存在的问题,让代码变得更加优雅。
2022-12-29
35|静态类型检查:ESLint 语法规则和代码风格的检查
linter作为代码检查工具,可以帮助我们将代码出现质量问题的风险降到最低。
2022-12-08
Android 侵犯 Java 版权了么?
上周五的一则声明表示Android源代码树包含了众多私有和反编译代码。这对于Oracle与Google之间的法律诉讼大战会造成何种影响呢?
国庆策划 03|揭秘代码优化操作和栈保护机制
今天是国庆假期策划的第三期。我们来公布第一期主观题的答案,揭秘代码优化操作和栈保护机制。
2022-10-07
Ruby 1.9.2 计划 8 月份发布最终版
由于Ruby 1.9.2已经通过了所有RubySpec测试,因此修订后的Ruby 1.9.2发布计划业已公布,计划8月中旬发布最终版本。
GitHub 推出 Python 安全警告
GitHub宣布了Python安全警告,使Python用户可以访问依赖图,并在他们的库所依赖的包存在安全漏洞时收到警告。
Rail ActionPack 参数解引发多种漏洞
1月8号,Rails团队核心成员Aaron Patterson公布了CVE-2013-0156, 是一个由ActionPack参数解引发的多种漏洞,并且影响版本十分广泛,包括3.0、3.1、3.2以及很久没有更新的2.3系列。
Rails 存在安全问题:数月前发现的漏洞正被利用
黑客正在利用数月之前发现的一项Ruby-On-Rails安全漏洞,未打补丁的系统存在被攻击的风险。
评论