泛微e-cology 9 远程命令执行漏洞
文章发布于2024年7月15日周一,北京
泛微协同管理应用平台(e-cology)是一套兼具企业信息门户、知识管理、数据中心、工作流管理、人力资源管理、客户与合作伙伴管理、项目管理、财务管理、资产管理功能的协同商务平台。
泛微e-cology是一款由泛微网络科技开发的协同管理平台,支持人力资源、财务、行政等多功能管理和移动办公。2024年7月,泛微官方发布了新补丁,修复了一处SQL注入漏洞。经分析,攻击者无需认证即可利用该漏洞,建议受影响的客户尽快修复漏洞。
该漏洞可在默认配置下,利用堆叠注入进而执行任意命令,利用难度较低。
漏洞成因
该漏洞是由于泛微e-cology未对用户的输入进行有效的过滤,直接将其拼接进了SQL查询语句中,导致系统出现 SQL 注入漏洞。
攻击者可利用此漏洞获取敏感信息,进一步利用可能获取目标系统权限。
处置优先级:高
漏洞类型: SQL注入
漏洞危害等级: 高
权限认证要求: 无需权限
系统配置要求: 默认配置可利用
用户交互要求: 无需用户交互
利用成熟度: POC/EXP 未公开
批量可利用性: 可使用通用 POC/EXP,批量检测/利用
修复复杂度: 低,官方提供热修复、升级修复方案
影响版本
Affects
1e-cology 9 < 补丁版本 2024-07-10
解决方案
Solution
官方已发布升级补丁包,支持在线升级和离线补丁安装,可在参考链接[1]进行下载使用。
临时缓解方案可能无法完全阻止漏洞的利用,强烈建议尽快升级到修复版本。
使用WAF等安全设备进行防护。
在不影响业务的情况下配置URL访问控制策略。
限制访问来源地址,如非必要,不要将系统开放在互联网上。
官方修复方案:
厂商已发布漏洞修复程序,请尽快前往官网(https://www.weaver.com.cn/cs/securityDownload.html)下载更新至10.64.1及以上版本。
使用防护类设备对相关资产进行防护,拦截请求中出现的恶意SQL语句
如非必要,避免将资产暴露在互联网
1https://www.weaver.com.cn/cs/securityDownload.html#
\*
特别提醒:
请定期修改密码(包括各个产品线如Emobile管理后台、ecology账号、云桥管理后台、emessage管理后台、运维平台等),并确保密码是一个复杂密码,复杂密码的要求:
a、长度至少13位及以上;
b、同时包含大小写字母、数字和特殊字符;
c、在键盘上没有明显的输入规律,比如:1qaz@WSX,比如该密码,看似是强密码,但在键盘上存在明显输入规律,因此也容易破解。
\*
特别说明:
E9系统升级v10.52补丁包,升级完成并检测通过后需要使用管理员登录,访问/mobilemode/admin/genStaticpageAll.jsp进行数据初始化,避免移动建模页面异常。[如果升级之前的补丁包已经做过此操作,可不必再次访问。]
0
查看安全包是否生效及修复的办法
1、用sysadmin登录系统,访问:/security/monitor/Monitor.jsp;
2、查看【环境信息】tab页,可以看到当前安全包版本;
3、在【安全概要】tab页,可以看到安全包是否生效;
4、如果显示为未开启,在【安全体检】里面点击【检测】,检测后会弹出【修复】按钮,点击【修复】;
5、修复完成后会弹出 具体的修复步骤(主要就是替换文件),按照修复步骤操作即可
6、如果按上面5步修复完成后仍显示未开启,请在【安全开启详情】tab页的第一项点击【开启】。
1
请先下载【ECOLOGY安全补丁】和【ECOLOGY安全补丁配置说明】,按照【ECOLOGY安全补丁配置说明】中的【Ecology系统安全安装说明】文件进行部署升级。
2
如果是首次打安全补丁包,则在WEB-INF/目录下没有weaver_security_config.xml文件,可以先重启下服务,会自动生成weaver_security_config.xml文件。
3
如果有升级系统的KB补丁包或者是进行大版本升级,建议重新从本页面下载最新安全补丁包重新覆盖。
3
ECOLOGY安全补丁包可以适应以下版本的ECOLOGY
Resin1.x+Ecology5.0及以上版本
4
如果您的e-cology运行在WEBLOGIC环境下,亦可直接打本安全补丁。
5
如果系统做了比较多的二次开发,为了保险起见,建议先在生产环境上打上安全补丁包,但延缓启用安全补丁包(可以解决一些无需配置的严重问题,比如敏感信息未授权访问等。但不会影响到系统功能)。在测试环境上对常用功能尤其是二次开发的功能进行测试后再正式启用生产环境上的安全包功能。
6
对于有二次开发的客户,打上本安全补丁包后可能的影响及解决方案
1、对于直接传输危险字符(如count(、substr(、等)的sql语句的参数,可能会被安全包拦截;
2、对于从5.0/6.0/7.0升级到8.0的客户,如果二次开发页面采用了GBK编码传输数据,那么中文可能会无法获取到;
3、对于5.0/6.0/7.0的客户,如果二次开发页面采用了UTF-8编码传输数据,那么通过getParameter获取中文时可能会出现乱码。
以上问题的解决方案(具体配置可参考《Ecology系统安全配置说明.docx》中相关章节描述)
1、可以在ecology/WEB-INF/securityXML/weaver_security_custom_rules_1.xml中的节点下面添加类似如下的节点(url中可以使用正则表达式,也可以配置一个目录):
<excepts><br><url>/keygenerator/KeyGeneratorOperation.jsp</url><br><url>/keygenerator/KeyGeneratorOriginalOperation.jsp</url><br></excepts><br>
如此,该页面的参数将不会进行安全性检查。
2、可以在ecology/WEB-INF/securityXML/weaver_security_custom_rules_1.xml中的节点下面添加类似如下的节点(url中可以使用正则表达式,也可以配置一个目录):
<dev-list><br><special><br><encoding>GBK</encoding><br><paths><br><path>/hrm/performance/[a-zA-Z0-9]\.jsp</path><br><path>/hrm/performance/checkScheme/</path><br></paths><br></special><br></dev-list><br>
如此,该页面的参数将会以GBK的编码接收。
3、可以在ecology/WEB-INF/securityXML/weaver_security_custom_rules_1.xml中的节点下面添加类似如下的节点(url中可以使用正则表达式,也可以配置一个目录):
<dev-list><br><special><br><encoding>UTF-8</encoding><br><paths><br><path>/messager/</path><br><path>/newportal/contactssearch.jsp/</path><br></paths><br></special><br></dev-list><br>
如此,该页面的参数将会以UTF-8的编码接收。
7
如果系统做了较多的二次开发,请务必仔细阅读《Ecology系统安全配置说明.docx》,掌握二次开发功能受影响时快速通过配置的方式解决问题。
8
修改了与安全规则有关的xml文件(请使用Editplus、Notepad++、Ultra等编辑器编辑,不要使用记事本、写字板等工具编辑。)时,修改完成后,可以不需要重启Resin,请用系统管理员登录系统,然后访问:http://oa地址/updateRules.jsp(如:http://e8.e-cology.com.cn/updateRules.jsp),让刚修改的规则库文件即时生效。如果是集群环境,请在每个节点上都执行以下这个jsp。
9
更新该安全补丁包后,如果发现http://oa地址/services/无法访问,那么请参照以下步骤添加例外:将需要调用该WEBSERVICE的IP添加到白名单中即可
可以在ecology/WEB-INF/securityXML/weaver_security_custom_rules_1.xml中的节点下面添加类似如下的节点(IP可以指定某个网段,也可以指定具体IP):
<webservice-ip-list><br><ip>80.16.</ip><br></webservice-ip-list><br>
如此,这些IP就能正常访问webservice了。
更新日志
2024-07-12(v10.64.1)
150、修复10.64引发的统一待办集成、移动建模扫码功能、建模webservice接口调用异常的问题。
2024-07-10(v10.64.1)
149、修复10.64引发的正文等功能打不开的问题。
2024-07-10(v10.64)
148、修复安全漏洞。