写点什么

Ruby 1.8.x 中 BigDecimal 的 Dos 漏洞

  • 2009-06-14
  • 本文字数:639 字

    阅读完需:约 2 分钟

Ruby 1.8.x 的所有版本中发现了一个易被 DoS 攻击的漏洞:

将 BigDecimal 对象转换成 Float 数的时候会导致一个问题,这个问题使得攻击者能够很容易得到段错误。
由于 ActiveRecord 即依赖于这个方法,所以大多数 Rails 应用程序都会被影响到。虽然这个并不只是 Rails 的问题。

Riding Rails 博客也指出了这个漏洞

即将发布的 Rails 2.3.3 将会有一些小改动,减少了一些这个漏洞中可能被攻击的 vectors 数量。但是这些改动不会关闭每一个可能遭受攻击的方法,用户仍然需要不断尽快升级升级他们的 Ruby 安装程序。

这篇博文同样指向了了 NZkoz 的 bigdecimal-segfault-fix,无法升级 Ruby 的用户的一个临时修复方法这篇文章,这也是一个解决办法,但是这个修正版本可能会破坏应用程序,所以升级是唯一一个合适的解决方法。

所有的 Ruby 1.8.x 版本都被影响了,第一个修正的 Ruby 版本Ruby 1.8.6-p369 1.8.6 FTP 下载链接)和Ruby 1.8.7-p173 1.8.7 FTP 下载链接)。

JRuby貌似也被影响了。 Bug JRUBY-3744 跟踪了这个问题:

JRuby 貌似也同样被影响了。它不会崩溃,但是会陷入无限循环中。

这个样例输出记录了这种行为。

一个实验的结论揭示了在 bigdecimal-segfault-fix 中使用的解决方法是一个临时的解决方法,因为它仅仅是修改了 BigDecimal 类,然后在使用过大的数的时候抛出异常。但是在 JRuby 中,这种代码却失败了,而不是保持 JRuby 线程继续工作;很显然这种代码的修改不能够支持更大的数。

Ruby 1.9.x的用户不会被影响

查看英文原文: DoS Vulnerability in BigDecimal

2009-06-14 04:261339
用户头像

发布了 90 篇内容, 共 34.9 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

从大局着眼,立微处发力

张老蔫

28天写作

架构师训练营第 1 期 - 大作业 2

Anyou Liu

架构师训练营第 1 期

MySQL在按照某个字段分组、排序加序号

AI乔治

Java MySQL 架构

有关架构设计原则的总结

跳蚤

MySQL慢查询(下):问题解决,干货总结

架构精进之路

MySQL MySQL 高可用 MySQL优化 28天写作

HDFS SHELL详解(3)

罗小龙

hadoop 28天写作 hdfs shell

IDEA@Data注释使用

AI乔治

Java 架构 注解

生产环境全链路压测建设历程 25:FAQ 7、8 正常业务保护和外调接口的处理

数列科技杨德华

28天写作

堡垒机是什么?

Java程序经验小结:谨慎的使用本地方法

后台技术汇

28天写作

程序员练习算法的几个实用技巧

Phoenix

算法

架构师训练营第 12 周学习总结

菜青虫

大数据知识专栏1-Hadoop环境安装

小马哥

大数据 hadoop 28天写作

架构师训练营第 12 周课后练习

菜青虫

新官上任,如何开始你的管理工作(上)

一笑

管理 28天写作

演讲还是辩论

将军-技术演讲力教练

28天写作

架构师培训第二周课后作业

跳蚤

车轱辘话来回说怎么治

Justin

团队协作 沟通 28天写作

微信视频号的不同 | 视频号28天(03)

赵新龙

28天写作

技术人小故事-团队愿景篇-第2段

Ian哥

28天写作

week7-homework

J

大作业2

蓝黑

4.5万字手把手教你实现MySQL TB级数据存储!!

冰河

MySQL 分布式 微服务 数据存储 mycat

汽油车最简知识——28天写作Day2/28

mtfelix

28天写作 电动汽车

反对没有节制的加班文化

熊斌

管理 职场 工作思路 28天写作

中华石衫 Elasticsearch 顶尖高手系列课程

escray

elasticsearch elastic 28天写作 死磕Elasticsearch

week7-总结

J

28 天带你玩转 Kubernetes-- 第二天(K8s 介绍)

Java全栈封神

Kubernetes k8s k8s入门 28天写作 k8s历史

聊聊并发,进程通信方式,go协程简单应用场景

AI乔治

Java 架构

创业也是要帮助他人突破认知 Jan 10, 2021

王泰

28天写作

面试官:换人!赶快换人!连 CopyOnWriteArrayList 都没听过!

xcbeyond

Java 28天写作 CopyOnWriteArrayList

Ruby 1.8.x中BigDecimal的Dos漏洞_Ruby_Werner Schuster_InfoQ精选文章