关于电子合同签署系统安全漏洞修复通知

1背景介绍

近期,我司电子印章签署系统于互联网外网环境中,探测到远程代码执行漏洞(XVE-2024-18390)。该漏洞具备绕过登录、执行任意代码的可能性,从而获取服务权限,存在对系统安全构成威胁。为切实保障您的系统安全稳定运行,我司将即刻提供紧急修复服务。

2适用范围

本文档主要面向项目经理及项目实施人员。

3漏洞描述

“电子印章签署系统远程代码执行漏洞”, 攻击者可通过/msgTemplate/content/notice、/msgTemplate/content/mail接口,利用Freemarker组件template.process()方法执行命令绕过系统登录,获取服务器权限。

4受影响版本

该漏洞的影响范围涵盖我司电子印章签署系统 V2.0 至 V2.5 的所有版本(ECSS V2.0 - V2.5版本)。

5漏洞自查

请通过访问以下接口是否存在,判断是否受该漏洞影响。

/msgTemplate/content/notice

/msgTemplate/content/mail

6修复策略

基于此,我司制定并发布了两种修复方案,供您酌情选择:

紧急方案一:紧急修复方案。通过对防火墙策略的调整来规避漏洞,无需中断业务,修复流程高效快捷,能够确保您在最短时间内恢复正常使用。

完整方案二:完全修复方案。由我司调配专业的项目实施人员,采用本地或远程升级的方式,替换后台服务程序包。完成升级后需重启服务方能生效,此方案可彻底根除漏洞风险。

6.1紧急修复漏洞处理方式(紧急方案一)

项目经理联系客户网管人员,通过防火墙屏蔽受影响的请求路径,如下:

http(s)://IP:PORT/ecapi/msgTemplate/content/mail

http(s)://IP:PORT/ecapi/msgTemplate/content/content/notice

http(s)://IP:PORT/msgTemplate/content/mail

http(s)://IP:PORT/msgTemplate/content/content/notice

HTTP请求方式:Get

6.2代码修复方式(完整方案二)

6.2.1修复流程

项目经理或项目实施人员,按照如下流程进行

6.2.2修复实施及验证

项目经理获取漏洞升级部署包后,需要事先在预上线环境进行验证且验证成功后,才可在生产环境上线,服务更新可参考如下流程:

具体操作步骤如下:

1、查看服务进程,得到进程路径和进程ID, 操作默认非root 的econtract 用户来操作。

服务一般在 /opt/econtract/dsign-server/lib/contractproductv2.jar 路径。如果在其他路径操作类似。

$ ps aux | grep java

停止服务:

$ cd /opt/econtract/dsign-server

$ bin/dsignService.sh dev stop

2、备份文件

$ cd /opt/econtract/dsign-server/lib

$ mv contractproductv2.jar contractproductv2.jar.bak20240730

3、更新安装包。

把新contractproductv2.jar 上传到 目录/opt/econtract/dsign-server/lib

4、启动服务

$ cd /opt/econtract/dsign-server

$ bin/dsignService.sh dev start

5、调用接口是否存在

在电子合同签署系统部署的服务器中,执行如下命令

$ curl  'http://域名:端口/ecapi/msgTemplate/content/notice' --header 'Authorization: Bearer 12ededa5-77f3-4b6b-9241-514a5bcce0ed'

 

其中Authorization: Bearer+空格+用户token ,用户token 可通过页面登录的接口获取accessToken的值

当返回下图时,返回信息status:404,说明漏洞已被修复

6、验证后台服务启动,可在服务器里进行验证(后台服务端口,如果是其他端口,相应修改即可)。

$curl http://127.0.0.1:10616

收到电子合同签署系统的返回,表明服务启动正常,或登录后台管理配置页面,看是否操作正常。

此后,由客户进行业务主流程的验证,验证成功后,说明升级成功。