热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Ruby1.8.x中BigDecimal的Dos漏洞

在Ruby1.8.x的所有版本中发现了一个易被DoS攻击的漏洞:\u0026#xD;\n将BigDecimal对象转换成Float数的时候会导致一个问题,

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

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

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

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

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

\u0026#xD;\n

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

\u0026#xD;\n

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

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

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

\u0026#xD;\n

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

\u0026#xD;\n

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

\u0026#xD;\n

查看英文原文:DoS Vulnerability in BigDecimal


推荐阅读
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 中科院学位论文排版指南
    随着毕业季的到来,许多即将毕业的学生开始撰写学位论文。本文介绍了使用LaTeX排版学位论文的方法,特别是针对中国科学院大学研究生学位论文撰写规范指导意见的最新要求。LaTeX以其精确的控制和美观的排版效果成为许多学者的首选。 ... [详细]
  • 福克斯新闻数据库配置失误导致1300万条敏感记录泄露
    由于数据库配置错误,福克斯新闻暴露了一个58GB的未受保护数据库,其中包含约1300万条网络内容管理记录。任何互联网用户都可以访问这些数据,引发了严重的安全风险。 ... [详细]
  • 本文深入分析了 USDC 的稳定性和可能的救援措施,探讨了在硅谷银行破产后 USDC 面临的风险以及行业内的反应。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 优化后的摘要:本文详细分析了当前面临的挑战和机遇,结合具体实例探讨了如何通过创新和改革来推动长期可持续发展。文中还介绍了多种可行的解决方案,并强调了在不同阶段实施这些方案的重要性。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • 探索Squid反向代理中的远程代码执行漏洞
    本文深入探讨了在网站渗透测试过程中发现的Squid反向代理系统中存在的远程代码执行漏洞,旨在帮助网站管理者和开发者了解此类漏洞的危害及防范措施。 ... [详细]
  • 本文详细介绍了在使用FAPlayer的编译脚本时遇到的Ruby依赖问题,并提供了在Cygwin环境下安装Ruby的具体步骤。 ... [详细]
  • Linux环境下Redmine快速搭建指南
    本文将详细介绍如何在Linux操作系统中使用Bitnami Redmine安装包快速搭建Redmine项目管理平台,帮助读者轻松完成环境配置。 ... [详细]
  • PHP服务器搭建的重要性及方法
    本文深入探讨了为什么在开发PHP应用之前需要搭建服务器环境,以及如何选择和搭建适合的PHP服务器。 ... [详细]
  • 本文探讨了通过分析考试成绩来调整学习策略的方法,旨在帮助学生更有效地学习。 ... [详细]
author-avatar
mobiledu2502891447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有