🔴 严重 | CVE-2022-50973 — Yonyou KSOA 9.0 contains an unauthenticated arbitr...
🔴 【深度分析】严重安全漏洞:CVE-2022-50973
CVSS 评分: 严重(9.3)🔴 状态: Deferred 发布时间: 2026-07-02
🔍 技术细节速览
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2022-50973 |
| CVSS 评分 | 9.3 🔴 |
| 严重程度 | 严重 |
| CVSS 向量 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| CWE 分类 | CWE-434 |
| 发布时间 | 2026-07-02 |
| 最后更新 | 2026-07-02 |
| 状态 | Deferred |
| 数据来源 | disclosure@vulncheck.com |
好的,作为一名资深网络安全分析师,我将基于您提供的NVD漏洞数据,为您生成一篇专业且可读性强的漏洞深度分析文章。
【严重漏洞预警】CVE-2022-50973:Yonyou KSOA 9.0 无条件任意文件上传致远程代码执行漏洞
CVSS 评分:9.3 (Critical / 严重)
CVSS 向量:CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
危害等级:严重
漏洞概述
CVE-2022-50973 是存在于 Yonyou KSOA 9.0 版本中的一个严重安全漏洞。该漏洞位于 com.sksoft.bill.ImageUpload servlet 组件中,属于无条件任意文件上传漏洞。攻击者无需任何身份验证,即可通过构造特制的 POST 请求,向服务器上传任意文件,包括恶意的 JSP Webshell。由于服务器未能对上传文件的类型、扩展名及内容进行任何校验,且上传目录(pictures)具有 Web 目录的访问和执行权限,攻击者可借此实现未授权的远程代码执行,最终完全控制受影响服务器。
该漏洞最早由 Shadowserver Foundation 于 2023 年 11 月 7 日观察到实际利用活动,表明其已被在野广泛利用。
受影响组件与版本
- 受影响产品: 用友 KSOA
- 受影响版本: 9.0
- 漏洞组件:
com.sksoft.bill.ImageUploadServlet
漏洞原理分析
根据NVD提供的详细信息,该漏洞的核心成因在于对文件上传过程的完全缺乏校验。
- 未授权访问:
com.sksoft.bill.ImageUploadServlet 接口未配置任何访问控制逻辑,允许任何未认证的网络用户直接调用。 - 无校验的文件上传逻辑:该 Servlet 在处理用户提交的 POST 请求时,未对以下关键参数进行任何安全验证:
- 文件路径(filepath):攻击者可完全控制上传文件的目标存储路径。
- 文件名(filename):攻击者可以指定任意的文件名,包括带有恶意扩展名(如
.jsp)的文件名。 - 文件内容: 未对上传文件的内容进行任何检查,允许上传恶意代码(如 Webshell)。
- 危险的执行环境: 上传的文件被存储在
pictures目录下。该目录被配置为 Web 服务器可直接访问并解释执行的路径。因此,攻击者上传的 JSP Webshell 文件一旦落地,即可通过 Web 访问直接触发执行。
攻击向量分析:
攻击者可以构造一个简单的 HTTP POST 请求,在 filepath 和 filename 参数中指定恶意 JSP 文件,并提交包含 Webshell 代码的请求体。例如,攻击者可能发送类似以下格式的请求:
POST /.../com.sksoft.bill.ImageUpload HTTP/1.1
Host: target.com
Content-Type: multipart/form-data; boundary=xxx
--xxx
Content-Disposition: form-data; name="filepath"
../webapps/ROOT/
--xxx
Content-Disposition: form-data; name="filename"
shell.jsp
--xxx
Content-Disposition: form-data; name="file"; filename="shell.jsp"
Content-Type: application/octet-stream
<% Runtime.getRuntime().exec(request.getParameter("cmd")); %>
--xxx--
服务器接收到请求后,会将 Webshell 文件写入到 Web 目录的 pictures 子目录下。攻击者随后通过浏览器访问 /pictures/shell.jsp?cmd=whoami 即可执行任意系统命令。
影响评估
- 攻击复杂度(AC:L):攻击路径清晰,所需技术门槛极低,攻击者仅需利用标准的 HTTP 工具即可发起攻击。CVSS 向量中的
AC:L印证了这一点。 - 所需权限(PR:N):无需任何用户身份验证或系统权限,可匿名利用。向量中的
PR:N完全符合。 - 攻击向量(AV:N):通过网络远程进行,无需物理接触或特殊网络位置。向量中的
AV:N指出了这一点。 - 潜在后果:
- 机密性、完整性、可用性丧失(VC:H/VI:H/VA:H):CVSS 4.0 向量明确表明攻击可完全破坏系统的机密性、完整性和可用性。一旦成功,攻击者可以:
- 执行任意系统命令,完全控制服务器。
- 窃取数据库、配置文件和业务数据。
- 修改或破坏系统文件和应用数据。
- 将服务器作为跳板攻击内网其他系统。
- 植入后门,实现长期驻留。
- 机密性、完整性、可用性丧失(VC:H/VI:H/VA:H):CVSS 4.0 向量明确表明攻击可完全破坏系统的机密性、完整性和可用性。一旦成功,攻击者可以:
- 现实威胁:鉴于已有在野利用证据,此漏洞不再是理论风险。任何未打补丁的 Yonyou KSOA 9.0 系统都面临直接、迫切的攻击风险。
修复建议
1. 紧急措施
鉴于该漏洞已被积极利用,建议立即采取以下措施:
版本升级:首选方案是联系用友官方或其授权服务商,确认是否存在针对 KSOA 9.0 的安全补丁或推荐升级的版本(例如升级到不受影响的 KSOA 8.x 最新版或更新的 9.x 版本)。这是最根本的修复方法。
应用临时缓解措施:在无法立即升级的情况下,应部署 Web 应用防火墙(WAF)或入侵防御系统(IPS),配置规则以拦截对
com.sksoft.bill.ImageUploadServlet 路径的 POST 请求。例如,在 Nginx 或 Apache 配置中添加如下规则:Nginx 示例:
location ~* /com\.sksoft\.bill\.ImageUpload { deny all; return 403; }Apache .htaccess 示例:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} ^.*com\.sksoft\.bill\.ImageUpload.*$ [NC] RewriteRule .* - [F,L] </IfModule>移除可疑文件:立即检查服务器上的
pictures目录及 Web 应用根目录,查找并删除近期新增的、非业务需要的.jsp,.jspx,.war,.zip等可执行或可解析文件。排查入侵痕迹:检查系统日志、Web 访问日志(access.log)和应用日志,寻找针对
ImageUpload接口的可疑 POST 请求,并排查服务器是否已被植入后门或建立了异常的网络连接。
2. 长期修复
- 实施安全开发生命周期(SDL):对所有涉及文件上传功能的应用接口进行严格的安全审查。
- 强制实施白名单文件扩展名校验(仅允许图片扩展名如
.jpg,.png,绝不接受.jsp)。 - 对上传后的文件进行重命名(例如使用 UUID),避免攻击者控制文件名。
- 将上传目录设置为不可执行脚本(例如通过 Web 服务器配置禁止 JSP 解析)。
- 实施严格的输入校验,防止目录遍历攻击。
- 强制实施白名单文件扩展名校验(仅允许图片扩展名如
- 进行风险评估:将此类漏洞作为安全评审的典型案例,评估所有 Java Web 应用中 Servlet 接口的安全性。
参考资料
- CVE 条目: NVD - CVE-2022-50973 (来源:disclosure@vulncheck.com)
- CWE 编号: CWE-434: Unrestricted Upload of File with Dangerous Type
- 利用情报: Shadowserver Foundation (首次观测到在野利用时间:2023-11-07 UTC)