Ruby 内置的 WEBrick 存在一个基本认证转义序列缺陷。CVE 对此缺陷提供了识别号 [CVE-2017-10784](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10784)。

## 细节

当使用 WEBrick 的基础认证功能时，客户端可以传入任意字符串作为用户名。WEBrick 将用户名完整地记录进日志文件，而攻击者可以通过注入特定的转义序列至日志从而在受害者的控制台中执行危险的控制字符。

这个缺陷类似于[另一个已被修复的缺陷](/en/news/2010/01/10/webrick-escape-sequence-injection/)，但在基础认证中没有修复。

所有正在使用受影响版本的用户应立即升级。

## 受影响的版本

* Ruby 2.2 系列：2.2.7 及更早版本
* Ruby 2.3 系列：2.3.4 及更早版本
* Ruby 2.4 系列：2.4.1 及更早版本
* SVN 仓库中早于 58453 的全部版本

## 发布记

感谢 Yusuke Endoh <mame@ruby-lang.org> 报告了这一问题。

## 历史

* 最早发布于 2017-09-14 12:00:00 (UTC)
