【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

C#入门系列(二十一) -- 面向对象之继承

陈言必行

C# 6月月更

NodeJS mysql需要注意sql注入 🎈

德育处主任

Node SQL注入 6月月更

视频一对一源码,简单的搭建方式也有技术要求

开源直播系统源码

软件开发 二次开发 一对一源码

Java 中的Comparator使用技巧

Nick

Java stream 6月月更 Comparator nullsFirst

Python 设计模式:单例模式

宇宙之一粟

Python 单例模式 6月月更

PingCAP 入选 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分

Geek_2d6073

Linux开发_文件发送与接收

DS小龙哥

6月月更

今天 2 点:关于龙蜥社区云原生 SIG 及安全容器 runD 介绍 | 第 24 期

OpenAnolis小助手

开源 云原生 虚拟化 sig 龙蜥大讲堂

设计微博系统中“微博评论”高性能高可用计算机构

Fan

架构师实战营

Ajax入门教程

倔强的牛角

ajax 6月月更

全面双录倒计时,融云助力泛金融业务办理高效合规可回溯

融云 RongCloud

电商增长红海突围,借势小程序生态

Speedoooo

小程序 小程序生态 电商 移动开发 小程序运行时

知识管理系统有效推动中小企业信息化发展

小炮

SRE Lesson One -- Day1 准备你的工作环境

耳东@Erdong

SRE 6月月更 SRE Lesson One

如何写出同事看不懂的Java代码?

码农参上

后端 Java’

剖析 SPI 在 Spring 中的应用

vivo互联网技术

spring Java’ JavaSPI Spring SPI Dubbo SPI

如何使用物联网低代码平台进行设备调试?

AIRIOT

低代码 物联网 低代码开发

InfoQ 极客传媒 15 周年庆征文|分布式设计介绍

No Silver Bullet

6月月更 InfoQ极客传媒15周年庆 分布式设计

浅聊一下数据监控(针对MSSQL)

为自己带盐

SqlServer 数据监控 6月月更

mysql中的查询计划及sql语句性能分析:explain

乌龟哥哥

6月月更

我把 b 站拉黑了!

博文视点Broadview

实践 DevOps 时,可能面临的六大挑战

SoFlu软件机器人

【LeetCode】 移除字母异位词后的结果数组Java题解

Albert

LeetCode 6月月更

深度学习编程常用工具Jupyter Notebook

Damon

深度学习 Jupyter Notebook jupyterlab 6月月更

SAP Marketing Cloud Restful API SDK 使用案例分享

Jerry Wang

云计算 SaaS SAP 6月月更 Marketing Cloud

MySql 过滤查询(以字母开头,以数字开头,非数字开头,非字母开头)

迷彩

数据库 MySQL 数据库 6月月更

一条命令开启监控之旅!

TanCloud探云

开源 监控系统

应用配置管理,基础原理分析

Java 微服务 构架

Eureka的TimedSupervisorTask类(自动调节间隔的周期性任务)

程序员欣宸

Java SpringCloud 6月月更

Flutter 中的 Flash 错误消息

坚果

6月月更

浅谈DOM中的类型

大熊G

JavaScript 前端 6月月更

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