ActiveRecord SQL注入漏洞深度剖析(CVE-2011-2930)

本文详细分析了Ruby on Rails框架中ActiveRecord组件的SQL注入漏洞(CVE-2011-2930)。该漏洞存在于quote_table_name方法中,攻击者可通过特制列名执行任意SQL命令,影响多个Rails版本。

activerecord vulnerable to SQL Injection · CVE-2011-2930

漏洞详情

漏洞描述

ActiveRecord适配器中的quote_table_name方法存在多个SQL注入漏洞。该漏洞位于Ruby on Rails的activerecord/lib/active_record/connection_adapters/目录中,影响以下版本:

  • 2.3.13之前的2.x版本
  • 3.0.10之前的3.0.x版本
  • 3.1.0.rc5之前的3.1.x版本

远程攻击者可通过特制的列名执行任意SQL命令。

受影响版本

bundler/activerecord (RubyGems)

  • = 2.0.0, < 2.3.13

  • = 3.0.0.beta, < 3.0.10

  • = 3.1.0.beta1, < 3.1.0.rc5

修复版本

  • 2.3.13
  • 3.0.10
  • 3.1.0.rc5

技术信息

漏洞类型

CWE-89: SQL注入漏洞 该漏洞未能正确过滤外部输入的SQL特殊字符,导致攻击者可以修改预期SQL命令的结构和执行逻辑。

严重等级

高危

EPSS评分

0.955%(第76百分位) 该评分预测此漏洞在接下来30天内被利用的概率。

相关链接

时间线

  • 发现时间: 2011年8月
  • NVD发布时间: 2011年8月29日
  • GitHub公告发布时间: 2017年10月24日
  • 最近更新: 2025年11月3日

安全建议

建议所有使用受影响版本的用户立即升级到修复版本。该漏洞允许攻击者执行任意SQL命令,可能导致数据泄露、数据篡改或完全控制数据库服务器。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计