写点什么

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:261744
用户头像

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

关注

评论

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

第七周·周总结

刘璐

系统性能优化总结

极客李

架构师第七周 作业

冯凯

性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?

极客李

Java 基础

Bruce Duan

java基础

爱币(LOVE COIN)全球同步耀世上线,掀起币圈追捧热潮

Geek_116789

ChaosBlade:从零开始的混沌工程(四)

郭旭东

云原生 混沌工程 ChaosBlade

SpringBoot教程:MyBatis多数据源配置

Bruce Duan

mybatis SpringBoot 2 多数据源配置

web 性能压测工具

莫莫大人

第七周·命题作业·写 web 性能压测工具

刘璐

Week 07 命题作业

Jeremy

SQL查找还在用count吗?

Bruce Duan

SQL查询是否存在

第七周总结

晨光

你在寻找本地部署的后台测试工具吗?

测试那些事儿

go defer 的使用和陷阱

曲镇

Go 语言

一文吃透时间复杂度和空间复杂度

书旅

数据结构 算法 时间复杂度 数据结构与算法

压测工具

Acker飏

第七周总结

Acker飏

脑洞:基于DDD进行组织架构治理

冯文辉

组织转型 领域驱动设计 DDD

程序设计的一种思路:DDD

再见小飞侠

方法论 DDD 软件设计

架构师 第七周总结

冯凯

JVM系列之:Contend注解和false-sharing

程序那些事

Java JVM 性能调优 GC

lambda基本使用

Bruce Duan

Lambda

Summary

Kiroro

作业一

Kiroro

k8s 上运行我们的 springboot 服务之——flume 读取kafka数据批量同步到clickhouse

柠檬

kafka Clickhouse

第七周作业

晨光

新站上线通知

Damon

charles断点使用方法

rainbow

Week 07 学习总结

Jeremy

一文入门DNS?从访问GitHub开始

Kerwin

后端 DNS DNS服务器

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