写点什么

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

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

关注

评论

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

【初探云原生】服务注册中心对比总结

路上的小崔哥

微服务 云原生 注册中心

Spring Cloud Alibaba Nacos 服务注册与发现功能实现!

王磊

SpringCloud Alibaba

为什么你辛苦肝的博客没人看?搭框架、排版、画图技巧这些你真的懂么?

码哥字节

排版规范 写作技巧 2月月更

《也许你该找个人聊聊》读书笔记 - 直面的勇气

懒时小窝

读书笔记 读书感悟

创业方法论(10/100)

hackstoic

创业 商业分析

视野 | KeyDB:为 Web 应用而生的高性能 Redis 分支

RadonDB

数据库 redis 后端 RadonDB

JVM进阶(八):Stop The World

No Silver Bullet

JVM STW 2月月更

如何写出格式清晰的代码

蜜糖的代码注释

Java 2月月更

DeepMind公司最新ai技术参加Codeforces击败大部分选手

你?

JavaScript 数组常见操作 (二)

编程三昧

JavaScript 前端 2月月更

Java常见数据结构详解

编程江湖

暂时不在更新

你?

M3U8 视频封装格式的深度解析 | 社区征文

liuzhen007

音视频 新春征文 2月月更

要重复阅读的一个原因:思维模型驱动学习的过程

panda

思维模型 阅读

一个cpp协程库的前世今生(二十五)channel

SkyFire

c++ cocpp

让所有工具变成你的锤子 — 邂逅《Every Tool's a Hammer》

蔡超

方法论 学习笔记 软件架构

URL中的空格、加号究竟应该使用何种方式编码

Gopher指北

HTTP url Go 语言

JS事件详解和js事件委托

编程江湖

Hadoop运行环境搭建

编程江湖

hadoop

Apache Druid 在 Shopee 的工程实践

Shopee技术团队

数据库 后端 Apache Druid

架构实战营 毕业设计项目

红莲疾风

「架构实战营」

JVM进阶(十):年老代收集器

No Silver Bullet

CMS JVM 2月月更 年老代收集器

一人走路不孤独,小度化身百度地图导航NPC,伴你回家路

百度大脑

GitLab + Jenkins + ACK 自动化部署方案

百瓶技术

运维 jenkins 自动化部署 #GitLab ACK

一个老程序员的计算机视觉蹒跚学习之路| 社区征文

老猿Python

AI OpenCV 计算机视觉 图像处理 新春征文

了解一下DDD领域驱动设计

蜜糖的代码注释

Java DDD 领域模型 2月月更

聚力同行,迈向零碳未来

大咖说

云计算 阿里巴巴 阿里云 数智化

Netflix是如何做决策的? | 6. 实验是数据科学的主要关注点

俞凡

数据分析 netflix 大厂实践 2月月更

Web Components系列(一) —— 概述

编程三昧

前端 组件化 2月月更

Pulsar 在云原生消息引擎领域为何如此流行?| 社区征文

老周聊架构

云原生 Apache Pulsar 新春征文 2月月更

JVM进阶(十一):JAVA G1收集器

No Silver Bullet

G1 JVM 垃圾收集器 2月月更

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