activerecord 易受SQL注入攻击
漏洞详情
漏洞编号: CVE-2011-2930 严重性: 高危 发布状态: 已于2017年10月24日发布至GitHub Advisory Database,并于2020年6月16日审核,最后更新于2025年11月3日。
受影响组件
软件包: 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
漏洞描述
Ruby on Rails框架中,位于 activerecord/lib/active_record/connection_adapters/ 目录下的ActiveRecord适配器中的 quote_table_name 方法存在多个SQL注入漏洞。此漏洞影响了2.3.13之前的Rails 2.3.x版本、3.0.10之前的Rails 3.0.x版本以及3.1.0.rc5之前的Rails 3.1.x版本。远程攻击者能够通过构造恶意的列名来执行任意的SQL命令。
参考资料
- https://nvd.nist.gov/vuln/detail/CVE-2011-2930
- rails/rails@8a39f41 (修复提交)
- https://bugzilla.redhat.com/show_bug.cgi?id=731438
- http://groups.google.com/group/rubyonrails-security/msg/b1a85d36b0f9dd30?dmode=source&output=gplain
- http://lists.fedoraproject.org/pipermail/package-announce/2011-September/065212.html
- http://weblog.rubyonrails.org/2011/8/16/ann-rails-3-1-0-rc6
- http://www.debian.org/security/2011/dsa-2301
- http://www.openwall.com/lists/oss-security/2011/08/17/1
- http://www.openwall.com/lists/oss-security/2011/08/19/11
- http://www.openwall.com/lists/oss-security/2011/08/20/1
- http://www.openwall.com/lists/oss-security/2011/08/22/13
- http://www.openwall.com/lists/oss-security/2011/08/22/14
- http://www.openwall.com/lists/oss-security/2011/08/22/5
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/activerecord/CVE-2011-2930.yml
国家漏洞数据库发布日期: 2011年8月29日
安全评分
- EPSS 分数: 0.955% (第76百分位数)。此分数估计了该漏洞在未来30天内被利用的概率。
弱点分类
- CWE: CWE-89 - SQL命令中使用的特殊元素中和不当(SQL注入)
- 描述: 产品使用来自上游组件的外部影响输入来构造全部或部分SQL命令,但未能中和或错误地中和了在发送到下游组件时可能修改预期SQL命令的特殊元素。如果对用户可控输入中的SQL语法没有进行充分的移除或引号转义,生成的SQL查询可能导致这些输入被解释为SQL语句而非普通的用户数据。
标识符
- CVE ID: CVE-2011-2930
- GHSA ID: GHSA-h6w6-xmqv-7q78
源代码
- rails/rails (GitHub仓库)
致谢
- 分析人员: tjuyuxinzhang
(此安全公告已被编辑。详情请查阅历史记录。如果您有任何改进建议,欢迎为该漏洞提供改进方案。)