写点什么

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

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

关注

评论

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

HarmonyOS 5.0应用开发——V2装饰器@local的使用

高心星

鸿蒙 HarmonyOS5.0 V2装饰器 @local

AV-Comparatives获得Euregio提名

财见

flyway报错Correct the classpath of your application so that it contains compatible versions of the

刘大猫

人工智能 机器学习 算法 数据分析 大模型

AI Compass前沿速览:IndexTTS2–B站、HuMo、Stand-In视觉生成框架、Youtu-GraphRAG、MobileLLM-R1–Meta、PP-OCRv5

汀丶人工智能

使用 NVIDIA Dynamo 部署 PD 分离推理服务

Se7en

如何秒级实现接口间“幂等”补偿:一款轻量级仿幂等数据校正处理辅助工具

京东科技开发者

【FAQ】应用A如何使用应用B内的文件?

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

AI教育白皮书解读 | 高校如何破局理科教育转型,搭上“人工智能+”行动快车

ModelWhale

AI教育 人工智能+ 理科

哪些AI工具可以生成PPT?9款好用的PPT生成软件盘点

职场工具箱

人工智能 PPT AIGC AI工具 AI生成PPT

从 Java 到 Go:面向对象的巨人与云原生的轻骑兵

京东科技开发者

华为全联接大会2025最新剧透!OpenTiny邀请你一起来开发者展岛~

OpenTiny社区

开源 前端 智能化 OpenTiny MCP

黑客劫持:周下载量超20+亿的NPM包被攻击

掘金安东尼

无人机巡航系统分析

深圳亥时科技

无人机 巡检 #开源

构建“超级用户共创网络”:一种实时、结构化吸纳用户洞察的机制

lsycang

如何实现“倾听智能体”:从理念到功能

lsycang

让中国企业飞向世界,金山办公+华为联手造了“AI协同直升机”

脑极体

AI

【编程史漫谈】goto时代和结构化编程

丛风

编程简史

头秃!特斯拉Model Y定金都交了,媳妇非让我换15万的铂智3X,谁来救我出纠结坑?

王中阳Go

特斯拉 买车推荐 铂智

超越条形图:项目经理结合现代进度工具的高效管理五大法则

Tecjt_锦图科技

项目进度管理工具

低代码 “我的待签”怎么用,这篇给你讲得明明白白

引迈信息

iPaaS 平台如何实现毫秒级 API 调用与数据同步?

谷云科技RestCloud

API API网关 集成平台 API管理 ipaas

Kafka实时数据管道:ETL在流式处理中的应用

谷云科技RestCloud

kafka 数据传输 数据同步 ETL 数据集成

活动报名:Voice First!Demo Day@Voice Agent Camp,9.22,上海丨超音速计划 2025

声网

【前沿技术探索与应用赛道】借助京东AI言犀提升Kubernetes集群巡检的效率和准确性

京东科技开发者

Media Encoder 2024(Me2024)中文完整版永久使用-mac/win

Rose

功能强大且操作简便的逆向编译工具 Binary Ninja for Mac

Rose

Cinema 4D 2024(C4D 2024)中文完整版永久使用-mac/win

Rose

NineData社区版 V4.5.0 正式发布!

NineData

数据库管理工具 NineData 数据库DevOps 数据复制工具 NineData 社区版 V4.5.0

LJSON:GB/s级全能JSON和数值双引擎的架构哲学与性能平衡之道

lengjingzju

开源 架构 算法 性能优化 JSON库

臭氧母带混音处理套装 iZotope Ozone 12 Advanced

Rose

黑客必备的DevOps实战工作坊:4小时动手实验指南

qife122

DevOps 渗透测试

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