Tinyproxy 曝出严重漏洞,影响全球52000 台主机

该漏洞是HTTP/HTTPS代理工具中一个未修补的重要安全漏洞,被追踪为 CVE-2023-49606,CVSS 得分为 9.8。

近日,攻击面管理公司 Censys 分享了一组数据:截至 2024 年 5 月 3 日,在90310台主机中,有 52000 台(约占 57%)运行着有漏洞的 Tinyproxy 版本。

这些可能受到漏洞影响的主机分布于美国(32846 台)、韩国(18358 台)、中国(7808 台)、法国(5208 台)和德国(3680 台)。

该漏洞是HTTP/HTTPS代理工具中一个未修补的重要安全漏洞,被追踪为 CVE-2023-49606,CVSS 得分为 9.8,Cisco Talos 将其描述为一个影响 1.10.0 和 1.11.1 版本(即最新版本)的免用漏洞。

Talos在上周的一份报告中提到:攻击者可通过精心构造的HTTP头触发先前释放内存的重复使用,导致内存破坏且可能导致远程代码执行。攻击者需要发送未经身份验证的HTTP请求以触发此漏洞。

换句话说,未经身份验证的威胁行为者可以发送特制的 HTTP 连接头,从而引发内存破坏,导致远程代码执行。

Tinyproxy 是一个轻量级的开源 HTTP 代理守护程序,专注于简单性和效率。根据 HTTP 规范,客户端提供的标头表示代理在最终 HTTP 请求中必须删除的 HTTP 标头列表。代理从请求中删除这些 HTTP 标头,向远程服务器执行请求,并将响应发送回客户端。Tinyproxy 在函数中正是这样做的:

首先,我们应该注意到客户端发送的 HTTP 标头驻留在键值存储中。该代码搜索 和 标头,并在 (1) 处获取它们的值,如前所述,这是一系列要删除的 HTTP 标头。客户端列出的每个 HTTP 标头在 (3) 处被删除。从本质上讲,和 标头值中的每个 HTTP 标头都用作从 中删除的键。最后,在 (4) 处,HTTP 标头本身被删除。

在函数中,我们看到:

对于具体提供的,其哈希值计算为 (5)。使用哈希值,在 (6) 处检索并释放键值的指针。最后,键本身从(7)的哈希图中删除。

现在考虑一下当客户端发送 HTTP 标头时会发生什么。出于演示目的,我们将它们区分为。在 (1) 处检索标头的值,这当然是 。在 (3) 处,该值用作 处的变量。在(5)处计算字符串的哈希值,与完全相同。请注意,哈希值也不区分大小写。在 (6) 处,哈希用于检索和释放 HTTP 标头值的指针,即 。因此,此时代码已释放了 的内存。在 (7) 处,现在包含过时指针的变量被重用,从而导致释放后使用方案。

很明显,此漏洞可用于执行内存损坏并获得代码执行权限。

去年 12 月 22 日,塔洛斯公司报告了这一漏洞,并发布了该漏洞的概念验证(PoC),描述了如何利用解析 HTTP 连接的问题来触发崩溃,并在某些情况下执行代码。

Tinyproxy 的维护者在上周末提交的一组文件中,指责 Talos 将报告发送到了一个已经不再使用的电子邮件地址,并补充说他们是在 2024 年 5 月 5 日被 Debian Tinyproxy 软件包维护者发现的。

rofl0r 提到:没有人在 GitHub 上提交问题,也没有人在提及的 IRC 聊天中提到漏洞。如果在 Github 或 IRC 上报告了该问题,该漏洞会在一天内得到修复。该公司建议用户在最新版本发布后及时更新。 

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Tinyproxy是一款轻量级的HTTP代理服务器,它可以在Linux/Unix系统上运行。在使用Tinyproxy的过程中,我们发现它存在一个堆溢出漏洞,攻击者可以利用该漏洞进行攻击,本文将介绍该漏洞的复现过程。 漏洞描述 Tinyproxy中存在一个堆溢出漏洞,攻击者可以通过发送恶意的HTTP请求来触发该漏洞,导致程序崩溃或执行恶意代码。 复现步骤 1. 下载安装Tinyproxy 首先需要下载Tinyproxy,并安装在Linux/Unix系统上。可以通过以下命令进行安装: ``` sudo apt-get update sudo apt-get install tinyproxy ``` 2. 启动Tinyproxy 在安装完成后,可以通过以下命令启动Tinyproxy: ``` sudo service tinyproxy start ``` 3. 准备测试工具 我们需要使用一个测试工具,来发送恶意的HTTP请求。这里我们使用的是Metasploit框架中的`http_chunked`模块。如果你还没有安装Metasploit框架,可以通过以下命令进行安装: ``` sudo apt-get install metasploit-framework ``` 4. 构造恶意HTTP请求 使用`msfconsole`命令打开Metasploit框架,进入交互式界面。然后执行以下命令,构造恶意HTTP请求: ``` use auxiliary/scanner/http/http_chunked set RHOSTS <target_ip> set RPORT 8888 set TARGETURI / run ``` 其中,`<target_ip>`是目标机器的IP地址,`8888`是Tinyproxy的默认端口号。执行完上述命令后,Metasploit框架会发送恶意的HTTP请求到目标机器上。 5. 复现漏洞 当目标机器接收到恶意的HTTP请求时,Tinyproxy会尝试解析该请求。由于请求中的数据长度超出Tinyproxy的缓冲区大小,导致程序发生堆溢出,从而崩溃或执行恶意代码。 漏洞修复 目前,官方并没有发布该漏洞的修复版本。建议用户不要在生产环境中使用Tinyproxy,或者使用其他替代品。如果必须使用Tinyproxy,建议在防火墙等安全设备上,对Tinyproxy进行限制,避免攻击者利用该漏洞进行攻击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗者才子酒中仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值