绿盟

44118太阳成城集团

  • 基础设施安全

    基础设施安全
  • 数据安全

    数据安全
  • 云计算安全

    云计算安全
  • 工业互联网安全

    工业互联网安全
  • 物联网安全

    物联网安全
  • 信息技术应用创新

    信息技术应用创新
  • 全部产品

    全部产品
  • 全部解决方案

    全部解决方案

基础设施安全


  • 政府

    政府
  • 运营商

    运营商
  • 金融

    金融
  • 能源

    能源
  • 交通

    交通
  • 企业

    企业
  • 科教文卫

    科教文卫

返回列表

Struts2 REST插件漏洞处置手册

2017-12-05

发布者:44118太阳成城集团



漏洞概述

北京时间2017121日下午,Struts官方公开了REST 插件的漏洞S2-054CVE-2017-15707)和S2-055CVE-2017-7525)。

S2-054:该漏洞源于REST插件引用的一个过时的JSON-lib库,当请求中包含有特制的JSON payload,服务器端通过JSON-lib对数据解析时,可造成拒绝服务攻击。

S2-055:由于Struts2 框架引用的存在反序列化漏洞的Jackson组件,攻击者可在提交的json数据中嵌入恶意代码,服务器端通过Jackson组件对json数据解析时,会导致远程代码执行。

 

详情请参考如下链接:

https://cwiki.apache.org/confluence/display/WW/S2-054

https://cwiki.apache.org/confluence/display/WW/s2-055


影响范围


受影响的版本

-Struts 2.5 – Struts 2.5.14

不受影响的版本

-Struts 2.5.14.1


漏洞检测


手工排查

S2-054

在项目中查找是否使用json-lib-2.4-jdk15.jar,如果使用了该jar包,说明存在风险。


S2-055

jackson-databind 组件被RedHat官方通告存在反序列化漏洞(CVE-2017-7525),相关信息科参考https://access.redhat.com/security/cve/CVE-2017-7525Struts 2.5x版本中引用了存在漏洞的json-databind组件,可导致未授权用户可以执行任意代码,

可在项目中找到以下jackson相关的jar包文件,判断引用的组件版本是否受影响,

jackson-annotations

jackson-core

jackson-databind

 

如果上述jar包版本低于截图所示的2.9.2版本,则该系统存在远程代码执行的风险。

 

防护方案


升级Struts2框架

1. 升级Struts2框架可有效防护S2-054S2-055漏洞。登录到官网下载页面,找到Struts 2.5.14.1,访问连接如下:

http://struts.apache.org/download.cgi#struts2514.1

2. 点击下载依赖包struts-2.5.14.1-lib.zip,解压后进入lib目录。


3. 进入web应用的依赖包目录(web应用名称WEB-INFlib),不影响业务的前提下,在struts 2.5.14.1lib目录中找到对应的jar包进行替换。


临时解决方案

若您由于一些原因暂时不能升级Struts 2整体框架,可参考如下方案,对S2-054S2-055漏洞进行临时防护。

参考官方的建议,针对S2-054漏洞,使用Jackson框架作为JSON ContentTypeHandler来替换默认的JSON-lib,可对该漏洞进行有效防护。但是由于Jackson存在S2-055反序列化漏洞,因此在替换JSON-lib后,还需更新Jackson版本。具体操作如下:

1. 使用Jackson替换JSON-lib

1. 在项目中添加Jackson依赖,打开pom.xml文件,在“”标签中添加如下语句:

com.fasterxml.jackson.core

jackson-core

2.9.2

com.fasterxml.jackson.core

jackson-databind

2.9.2

其中2.9.2为最新的Jackson版本,该版本修复了S2-055漏洞。

2. 设置Jackson Content Handler为默认Content Handler,参考下面的语句,在struts.xml找到相应的配置并进行修改:

 

 

参考链接如下:

http://struts.apache.org/plugins/rest/#use-jackson-framework-as-json-contenttypehancont


2. 更新Jackson

1. 登录到官网的下载页面,找到Struts 2.5.14.1,访问连接如下:

http://struts.apache.org/download.cgi#struts2514.1

2. 点击下载依赖包:struts-2.5.14.1-lib.zip


3. 将下载的依赖包解压后,找到以下jar包后,替换到项目中。

jackson-annotations-2.9.0.jar

jackson-core-2.9.2.jar

jackson-databind-2.9.2.jar

Struts2 2.5.24为例,请替换以下jar包。

jackson-annotations-2.8.0.jar -- jackson-annotations-2.9.0.jar

jackson-core-2.8.2.jar -- jackson-core-2.9.2.jar

jackson-databind-2.8.2.jar -- jackson-databind-2.9.2.jar



 

本安全公告仅用来描述可能存在的安全问题,44118太阳成城集团不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,44118太阳成城集团以及安全公告作者不为此承担任何责任。

44118太阳成城集团拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经44118太阳成城集团允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

 




<<上一篇

RSA Authentication Agent 漏洞 (CVE-2017-14377,CVE-2017-14378)

>>下一篇

多个Cisco WebEx网络录制播放器漏洞

您的联系方式

*姓名
*单位名称
*联系方式
*验证码
提交到邮箱

购买热线

  • 购买咨询:

    400-818-6868-1

提交项目需求

欢迎加入44118太阳成城集团,成为我们的合作伙伴!
  • *请描述您的需求
  • *最终客户名称
  • *项目名称
  • 您感兴趣的产品
  • 项目预算
您的联系方式
  • *姓名
  • *联系电话
  • *邮箱
  • *职务
  • *公司
  • *城市
  • *行业
  • *验证码
  • 提交到邮箱

服务支持

智能客服
智能客服
购买/售后技术问题
盟管家-售后服务系统
盟管家-售后服务系统
在线提单|智能问答|知识库
支持热线
支持热线
400-818-6868
44118太阳成城集团社区
44118太阳成城集团社区
资料下载|在线问答|技术交流
微博
微博

微博

微信
微信

微信

B站
B站

B站

抖音
抖音

抖音

视频号
视频号

视频号

服务热线

400-818-6868

服务时间

7*24小时

© 2024 44118太阳成城集团 - 太阳成集团44118平台首页 All Rights Reserved . 京公网安备 11010802021605号 京ICP备14004349号 京ICP证110355号