发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

Ruby on Rails 出现脚本和计时器安全问题

  • 2009-09-26
  • 本文字数:1241 字

    阅读完需:约 4 分钟

最近发现的两个安全问题给 Ruby on Rails 社区带来了一些忙乱,每个 Rails 开发者都必须注意近期发布的升级包。

易受攻击的跨站脚本

第一,可能是最严重的就是 Brian Mastenbook 发现的跨站脚本(XSS)的脆弱,并且在他的博客中报告了这个问题。Brian 描述了他是如何对 Twitter 和 37signals Basecamp 的 Ruby on Rails 进行跨站脚本攻击的。

我的注意力很快地转向了 Twitter ,这是我当时运行的唯一一个 Web 应用程序。一会儿,我发现一个 URL 查询参数中的 Javascript 代码导致溢出,在 twitter.com 的主体中运行。是的!跨站脚本,这就是 Twitter 蠕虫的制作方法。但是这个问题是只针对 Twitter,还是能够在其他站点运行? 我很快用一个测试 Basecamp 账号进行了实验。Basecamp 也是和 Twitter 类似,使用了 Ruby on Rails 作为其 Web 前端,所以这是一个测试上述问题是只针对 Twitter 还是普遍存在于 Rails 中的好办法。果不其然,同样的能够攻击 Twitter 的恶意 UTF-8 字符串也能够影响 Basecamp。

虽然这种攻击的可能性不是很高,但是 Ruby on Rails 团队很快做出了反映,检查了这个报告并且为 Rails 2.0 - 2.3 发布了补丁。

这些补丁是 git-am 格式的,包含两个更新部分。清理多字节字符串的代码和这些代码的相关帮助。 - 2-0-CVE-2009-3009.patch – 2.0 版本补丁

团队建议将不支持的 Rails 升级到现在的版本,因为未来发现的问题解决方案也可能不会支持本次未支持的版本。我们要注意,只有 Rails 2.2.x 和 2.3.x 是将来肯定会支持的。

脆弱的计时器

另外一个问题类似于计时器攻击。这种攻击和Rails 验证储存在cookie 中的消息摘要有关,这个缺陷允许一个攻击者来决定伪造签名能够在什么时候通过验证。这可能诱引其他的攻击,例如伪造摘要。

Rails 团队承认这种攻击是不太可能的,但是他们还是建议打上补丁。补丁现在只是支持 Rails 2.2.x 和 2.3.x:

这些补丁是 git-am 格式的,现在只是包含了单一的代码部分。 - 2-2-timing-weakness.patch – 2.2 版本补丁

Coda Hale 是这个 Rails 计时器问题的发现者。他的网站很好地解释了计时器问题的概念以及它们是如何被利用的。

Ruby on Rails 2.3.4

Rails 开发者还是没有忘记给他们运行在 Ruby on Rails 2.3.4 的 Rails 程序打上最新的补丁,这个补丁修正了一些 bug,并且处理了上述两个安全问题。

安全修复

2.3.4 修复了两个报告给我们的安全问题。欲知详情请查看安全通告。

Bug 修正

感谢 BugMash 的帮助,我们在这个版本中修复了大约 100 个 bug。当然不会修复在开发模式下和 rack 中间件以及 rails metal 封装引起的重载问题。

这个版本也包括了一个新特性,能够通过一个简单的 rake db:seed 命令将 seed 数据添加到项目数据库。

查看英文原文: Ruby on Rails Security Vulnerabilities

2009-09-26 20:051591
用户头像

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

关注

评论

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

JDK中「SPI」原理分析

Java 架构 jdk spi

从价值的角度看,为何 POSE 通证值得长期看好

西柚子

金奖方案 | 一专多能、傲视寰宇,南大通用GBase8c数据库牛在哪里 #openGauss

daydayup

多家合作伙伴与华为终端云服务签约 全面合作共建鸿蒙服务分发新生态

最新动态

ChatGenTitle:使用百万arXiv论文信息在LLaMA模型上进行微调的论文题目生成模型

汀丶人工智能

人工智能 自然语言处理 LLM模型

10分钟入门Flink--架构和原理

不焦躁的程序员

flink

HDC2023|余承东:元服务将卡片式体验带给消费者,加速鸿蒙生态的繁荣

最新动态

服务端apk打包教程

越长大越悲伤

Java 服务端打apk包

从价值的角度看,为何 POSE 通证值得长期看好

股市老人

Zebec Payroll :计划推出 WageLink On-Demand Pay,进军薪酬发放领域

BlockChain先知

C++实现对回收站里的文件进行操作

攻城狮Wayne

openGauss的SQL引擎在3.1.0版本中做了哪些优化?

daydayup

openGauss赋能企业核心场景应用 | 华为全联接大会2022专题回顾

daydayup

Zebec Payroll :计划推出 WageLink On-Demand Pay,进军薪酬发放领域

股市老人

HarmonyOS NEXT,生命之树初长成

脑极体

鸿蒙 AI 应用

Go 介绍

小万哥

Go golang 编程语言 跨平台 后端开发

openGauss —— 智能优化器之基数估计

daydayup

openGauss数据库从3.0.0升级到3.1.0操作实践

daydayup

华为阅读看好“短故事”新赛道 签约知乎盐言故事开启轻阅读

最新动态

鸿蒙生态星河璀璨 | 老程序员让HarmonyOS创新从“心”开始

最新动态

openGauss内核荣获中国首个国际CC EAL4+级别认证

daydayup

Zebec Payroll :计划推出 WageLink On-Demand Pay,进军薪酬发放领域

EOSdreamer111

CTO如何帮助业务成功

不焦躁的程序员

Zebec Payroll :计划推出 WageLink On-Demand Pay,进军薪酬发放领域

西柚子

openGauss内核分析(二.二):简单查询的执行

daydayup

openGauss内核分析(二.一):简单查询的执行

daydayup

只凭阿里大牛珍藏的并发编程笔记,我拿下了30K offer!

小小怪下士

Java 编程 程序员 并发编程 高并发

文心一言 VS 讯飞星火 VS chatgpt (71)-- 算法导论7.1 1题

福大大架构师每日一题

福大大架构师每日一题

从价值的角度看,为何 POSE 通证值得长期看好

EOSdreamer111

数据库迁移系列】从MySQL到openGauss的数据库对象迁移实践

daydayup

程序员是否适合创业

不焦躁的程序员

创业 程序员

Ruby on Rails出现脚本和计时器安全问题_Ruby_Robert Bazinet_InfoQ精选文章