查看原文
其他

jQuery 插件 0day 漏洞被曝已存在8年之久,数千款应用受影响

Ionut Arghire 代码卫士 2022-05-23

 聚焦源代码安全,网罗国内外最新资讯!

翻译:360代码卫士团队

Akamai 公司的研究员 Larry Cashdollar 表示,数千个项目很可能受已被在野利用的“ jQuery文件上传 (jQuery File Upload)”插件漏洞 CVE-2018-9206 影响。而且这个漏洞已存在8年之久。

目前针对该插件的 fork 已超过7800个,而且多数都含有原始漏洞。“jQuery 文件上传”插件是一个 jQuery 小工具,“具有多个文件选项、提供拖放支持、显示进度条、验证和预览图像、音频和视频功能”。该插件能在多种支持标准 HTML 格式文件上传的服务器端平台上运作:PHP、Python、Ruby on Rails、Java、Node.js、Go 等。

Cashdollar 在分析插件源码时发现了两个名为 “upload.php” 和 “UploadHandler.php” 的 PHP 文件,它们包含文件上传代码。文件被保存在 web 服务器 root 路径的文件/目录,研究人员借此上传了一个 web shell 并在服务器上运行命令。

研究人员表示,“和测试 web 服务器连接的浏览器,通过 cmd=id 返回web 服务器运行进程的用户 id。”使用该插件代码(很可能还有从此衍生的代码)均易受影响。甚至有人在 Youtube 视频上说明了如何利用类似软件包中的 bug。

研究人员告知插件作者称,“这个包已被包含于多种其它包中,而且该代码出现在可通过 web 访问路径的项目中。它已遭在野利用。”

显然,这个问题是由 Apache 禁用对版本 2.3.9 中的 .htaccess 的支持导致的。虽然此举旨在改进性能并阻止用户覆写配置在服务器上的安全功能,但它也导致开发人员及其项目易受攻击。

依靠 .thaccess 文件保证安全性的这个 jQuery 文件上传 PHP 实现也受影响。这个 bug 已解决,通过仅允许文件上传类型为“内容-类型”图像的方式解决。

然而,即使 fork 作者将原始代码更改为适应项目的代码,所有依靠 jQuery 文件上传代码的项目将受影响,包括独立的 web 应用、WordPress 插件以及其它内容管理系统等。

Cashdollar 发布 PoC 代码后解释称,“我已经测试了原始代码的1000个 fork,结果只有36个不受影响。只需要把我的利用代码稍作修改就能起作用。”

该缺陷将导致生产项目易受数据渗透、恶意软件感染、涂鸦等多种类型的攻击。另外一个问题是,判断有多少 fork 自易受攻击插件的项目数量被妥善维护或者多少这类项目被用于生产环境中几乎是不可能完成的任务。




推荐阅读

jQuery Mobile系统能导致网站遭受XSS攻击

热门文本编辑器的插件可帮助黑客提升权限


原文链接

https://www.securityweek.com/0-day-jquery-plugin-impacts-thousands-applications




本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存