写点什么

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

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

关注

评论

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

艾媒报告:百度输入法AI功能领跑行业 用户满意度第一

百度开发者中心

百度 AI

工具 | 一条 SQL 实现 PostgreSQL 数据找回

RadonDB

数据库 postgresql RadonDB

又一次漏洞复现与分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

会声会影编辑面板常用功能介绍

懒得勤快

Alibaba最新神作!耗时182天肝出来1015页分布式全栈手册太香了

热爱java的分享家

Java 面试 分布式 编程语言 经验分享

干货必收藏!墨天轮最受DBA欢迎的250份学习文档合集

墨天轮

MySQL 数据库 oracle postgresql

Pulsar 分级存储 -- S3 演示

Apache Pulsar

大数据 架构 云原生 分布式存储 Apache Pulsar

微服务的灾难:拆的很爽,但服务太小...

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

Go语言学习查缺补漏ing Day6

Regan Yue

Go 语言 11月日更

Micro Focus Fortify 最新能力发布,应用安全进入“一切皆代码”新时代

你的web知识有所欠缺。

喀拉峻

Web 安全

外卖跑腿系统专业开发外卖跑腿app源码开发

风行无疆

秋招拿到offer之后,分享面试阿里、头条、腾讯的经过以及一些总结

Geek_1df311

Java 编程 程序员 架构 面试

论文解读丨无参数的注意力模块SimAm

华为云开发者联盟

卷积神经网络 视觉 注意力模块 SimAm 神经元

掌握Java的内存模型,你就是解决并发问题最靓的仔

华为云开发者联盟

Java 内存模型 线程 并发 工作内存

24 K8S之Service资源及其模型

穿过生命散发芬芳

k8s 11月日更

pringBoot + Mybatis Plus + ClickHouse增删改查入门教程

程序员万金游

MySQL 数据库 mybatis Clickhouse

帧彩视界之Pseudo HDR:为普通SDR设备用户提供HDR体验

微帧Visionular

视频编码 HDR

DAS易用性设计

赫杰辉

CSS布局(四)之文本布局

Augus

CSS 11月日更

为何每次用完ThreadLocal都要调用remove()?

热爱java的分享家

Java 程序人生 编程语言 经验分享

分区丢失导致文件丢失?巧用EasyreCovery找回!

淋雨

数据恢复

多商户入驻系统开发多商户入驻app源码开发

风行无疆

The Data Way Vol.6|我不是开发者,但我依然向往开源

SphereEx

开源 开发者 播客 ShardingSphere SphereEx

趣谈哈希表优化:从规避 Hash 冲突到利⽤ Hash 冲突

热爱java的分享家

Java 架构 编程语言 经验分享 哈希表

元气部落盲盒软件原生开发芒趣盲盒app源码

风行无疆

Aeron是如何实现的?—— Ipc Publication

BUG侦探

Aeron Ipc Publication

行业分析| 为什么uni-app在音视频领域这么火?

anyRTC开发者

uni-app 音视频 移动开发 语音通话 视频通话

在牛客逮到一个阿里10年老Java开发,聊过之后收益良多...

Geek_1df311

Java 编程 架构 面试 计算机

彻底搞懂访问者模式的静态、动态和伪动态分派

Tom弹架构

Java 架构 设计模式

优秀!阿里甩出GC面试小册,仅7天Github获赞96.9K

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

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