Security Advisory - Remote Code Execution vulnerability in Apache Struts2

  • SA No:huawei-sa-20200902-01-struts2
  • Initial Release Date: 2020.09.02
  • Last Release Date: 2021.02.10

The Apache Struts frameworks, when forced, performs double evaluation of attributes' values assigned to certain tags attributes such as id so it is possible to pass in a value that will be evaluated again when a tag's attributes will be rendered. With a carefully crafted request, this can lead to Remote Code Execution. The problem only applies when forcing OGNL evaluation inside a Struts tag attribute, when the expression to evaluate references raw, unvalidated input that an attacker is able to directly modify by crafting a corresponding request. (Vulnerability ID: HWPSIRT-2020-49789)

This vulnerability has been assigned a Common Vulnerabilities and Exposures (CVE) ID: CVE-2019-0230.

Huawei has released software updates to fix this vulnerability. This advisory is available at the following link:

http://www.huawei.com/en/psirt/security-advisories/huawei-sa-20200902-01-struts2-en

Product Name

Affected Version

Resolved Product and Version

Agile Controller-Campus

V100R002C00

V100R003C60SPC210

V100R002C10

V100R002C10SPC400

V100R002C10SPC403

V100R002C10SPC405

V100R002C10SPC408

V100R002C10SPC409

V100R003C30

V100R003C50

V100R003C60

SMSGW

V100R001C01LG0701

V100R001C01LG8001

V100R001C01LG0801

V100R001C01LG0801SPC001

V100R001C01LG0901

V100R001C01LG0901SPC001

V100R002C11LG1901

V100R002C11LG3901

V100R002C11LG2501

V100R002C11LG2601

V100R002C11LG3001

V100R002C11LG3201

V100R002C11LG3501

V100R002C11LG3701

V100R002C11LG3801

V100R003C01LG2401

V100R003C01LG7601

V100R003C01LG3501

V100R003C01LG3601

V100R003C01LG3601SPC001

V100R003C01LG3701

V100R003C01LG3801

V100R003C01LG3901

V100R003C01LG4001

V100R003C01LG4101

V100R003C01LG4101SPC001

V100R003C01LG4201

V100R003C01LG4301

V100R003C01LG5101

V100R003C01LG5201

V100R003C01LG5401

V100R003C01LG5501

V100R003C01LG6001

V100R003C01LG6101

V100R003C01LG7901

V100R003C01LG6201

V100R003C01LG6301

V100R003C01LG6701

V100R003C01LG6801

V100R003C01LG6901

V100R003C01LG7001

V100R003C01LG7101

V100R003C01LG7201

V100R003C01LG7601

V100R003C01LG7301

V100R003C01LG7401

V100R003C01LG7901

V100R003C01LG7701

V100R003C01LRC001

V100R003C01LRC011

V100R003C01LRC003

V100R003C01LRC008

V100R003C01LRC009

V100R003C01LRC010SPC001

V100R003C01LRG001

V100R003C01LRG038

V100R003C01LRG002

V100R003C01LRG003

V100R003C01LRG009

V100R003C01LRG020

V100R003C01LRG021

V100R003C01LRG022

V100R003C01LRG024

V100R003C01LRG025

V100R003C01LRG029

V100R003C01LRG030

V100R003C01LRG032

V100R003C01LRG033

V100R003C01LRG034

V100R003C01LRG037

V100R003C01LRI001

V100R003C01LRI002

V100R003C01LRM001

V100R003C01LRS001

V100R003C01LRW001

V100R003C01LRW002

V100R003C01LU0701

V100R003C01LG7901

V100R003C01LU0801

V100R003C01LU0901

V100R003C01LU1001

V100R003C01LU1101

V100R003C01LU1201

V100R003C01LU1301

V100R003C01LU1401

V100R003C01LU1501

V100R003C01LU1601

V100R003C01LU1701

V100R003C01LU2201

V100R003C01LU2301

V100R003C01LU2601

V100R003C01LU2701

iManager NetEco

V600R008C00

V600R009C10CP2003

V600R008C00SPC100

V600R008C10

V600R008C10SPC100

V600R008C20

V600R008C20SPC100

V600R008C30

V600R009C00

V600R009C10SPC200

iManager NetEco 6000

V600R007C80

V600R008C10CP5801

V600R007C80SPC100

V600R007C80SPC200

V600R007C90

V600R007C90SPC100

V600R007C91

V600R007C91SPC100

V600R008C00SPC100

V600R008C10SPC100

V600R008C10SPC300

V600R008C20



With a carefully crafted request, this can lead to Remote Code Execution.

The vulnerability classification has been performed by using the CVSSv3 scoring system (http://www.first.org/cvss/specification-document).

Base Score: 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)

Temporal Score: 8.2 (E:F/RL:O/RC:C)

This vulnerability can be exploited only when the following conditions are present:

Attackers can send specific message to affected product

Vulnerability details:

The Apache Struts frameworks, when forced, performs double evaluation of attributes' values assigned to certain tags attributes such as id so it is possible to pass in a value that will be evaluated again when a tag's attributes will be rendered. With a carefully crafted request, this can lead to Remote Code Execution. The problem only applies when forcing OGNL evaluation inside a Struts tag attribute, when the expression to evaluate references raw, unvalidated input that an attacker is able to directly modify by crafting a corresponding request.


Customers should contact Huawei TAC (Huawei Technical Assistance Center) to request the upgrades. For TAC contact information, please refer to Huawei worldwide website at http://www.huawei.com/en/psirt/report-vulnerabilities/index.htm

This vulnerability was disclosed in S2-059 on the Apache Struts2 official website.

2021-02-10 V1.1 UPDATED Updated the "Software Versions and Fixes" section;

2020-09-02 V1.0 INITIAL

Huawei adheres to protecting the ultimate interests of users with best efforts and the principle of responsible disclosure and deal with product security issues through our response mechanism.

To enjoy Huawei PSIRT services and obtain Huawei product vulnerability information, please visit http://www.huawei.com/en/psirt.

To report a security vulnerability in Huawei products and solutions, please send it to PSIRT@huawei.com. For details, please visit http://www.huawei.com/en/psirt/report-vulnerabilities.

This document is provided on an "AS IS" basis and does not imply any kind of guarantee or warranty, either express or implied, including the warranties of merchantability or fitness for a particular purpose. In no event shall Huawei or any of its directly or indirectly controlled subsidiaries or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages. Your use of the document, by whatsoever means, will be totally at your own risk. Huawei is entitled to amend or update this document from time to time.