一、 漏洞 CVE-2017-17405 基础信息
漏洞信息
                                        # N/A

## 漏洞概述
在 Ruby 2.4.3 之前的版本中,存在一个 Net::FTP 命令注入漏洞。Net::FTP 的多个方法(如 `get`, `getbinaryfile`, `gettextfile`, `put`, `putbinaryfile`, 和 `puttextfile`)使用 `Kernel#open` 来打开本地文件。如果 `localfile` 参数以管道字符 `|` 开头,则会执行该管道字符后的命令。

## 影响版本
- Ruby 2.4.3 之前的版本

## 漏洞细节
这些受影响的 Net::FTP 方法默认使用 `File.basename(remotefile)` 作为 `localfile` 参数值。因此,恶意 FTP 服务器可以通过利用 `localfile` 参数执行任意命令。

## 影响
如果攻击者控制了 FTP 服务器,并且受害者通过 Net::FTP 方法下载文件时,攻击者可以注入并执行任意命令,导致严重的安全风险。
                                        
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
N/A
来源:美国国家漏洞数据库 NVD
漏洞描述信息
Ruby before 2.4.3 allows Net::FTP command injection. Net::FTP#get, getbinaryfile, gettextfile, put, putbinaryfile, and puttextfile use Kernel#open to open a local file. If the localfile argument starts with the "|" pipe character, the command following the pipe character is executed. The default value of localfile is File.basename(remotefile), so malicious FTP servers could cause arbitrary command execution.
来源:美国国家漏洞数据库 NVD
CVSS信息
N/A
来源:美国国家漏洞数据库 NVD
漏洞类别
N/A
来源:美国国家漏洞数据库 NVD
漏洞标题
Ruby Net::FTP 命令注入漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
Ruby是日本软件开发者松本行弘所研发的一种跨平台、面向对象的动态类型编程语言。Net::FTP是其中的一个FTP客户端的实现。 Ruby 2.4.3之前的版本中的Net::FTP存在命令注入漏洞。攻击者可借助恶意的FTP服务器利用该漏洞执行任意代码。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
授权问题
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2017-17405 的公开POC
# POC 描述 源链接 神龙链接
1 None https://github.com/Threekiii/Awesome-POC/blob/master/%E4%B8%AD%E9%97%B4%E4%BB%B6%E6%BC%8F%E6%B4%9E/Ruby%20NetFTP%20%E6%A8%A1%E5%9D%97%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E%20CVE-2017-17405.md POC详情
2 https://github.com/vulhub/vulhub/blob/master/ruby/CVE-2017-17405/README.md POC详情
三、漏洞 CVE-2017-17405 的情报信息