Memory Corruption Vulnerability in SAP NetWeaver ABAP IGS Service

Impact On Business

An unauthenticated attacker without specific knowledge of the system can send a specially crafted packet over a network which will trigger an internal error in the system causing the system to crash and rendering it unavailable.

Affected Components Description

The SAP IGS is a widely-used, server-based engine for generating graphical and non-graphical content based on data from an SAP system or an external system. An integral part of its architecture are different interpreters responsible for the semantic processing of the received data. The appropriate interpreter is selected by a portwatcher and depends on the basis of the requested type of information (ex: chart, map, zip).

Affected components:

  • SAP IGS 7.20
  • SAP IGS 7.20EXT
  • SAP IGS 7.53
  • SAP IGS 7.20_EX2
  • SAP IGS 7.81

(Check SAP Note 3021050 for detailed information on affected releases)

Vulnerability Details

CVE-2021-27620: An out of bounds read access exists in function Ups::AddPart() in IGS portwatcher binary through the SAP IGS service. The function uses directly a part of the packet as a counter in movs instruction.

CVE-2021-27622: It is possible to trigger an undesired excessive iteration vulnerability in CDrawRaster::LoadImageFromMemory in IGS portwatcher library imgconv.so through the SAP IGS service. In particular image requests, the number of color planes can be overwritten by the number of bits per pixel. This led to an excessive loop where a movzx instruction eventually crashed.

CVE-2021-27624: An undesired excessive iteration vulnerability exists in function CiXMLIStreamRawBuffer::readRaw in IGS Portwatcher binary through the SAP IGS service. In particular IGS packet type, the size of the provided input is directly read from the packet itself. An attacker can craft a malicious packet to force the function to read outside his memory slot. After a few iterations, around 0x5780, the program crashed.

CVE-2021-27625: A memory corruption vulnerability exists in function CXmlUtility::CheckLength in IGS library xmlchart.so through the SAP IGS service. The function CChartCuParser::Load dereferences a pointer due to the high value provided in the igs table entry for the provided input. This leads to set high offset value for the next input, leading to a crash.

CVE-2021-27626: A memory corruption vulnerability exists in function CMiniXMLParser::Parse in IGS Portwatcher binary through the SAP IGS service. By crafting a malicious igs packet, the attacker can provide the wrong size for the provided input content. This size is directly read from the IGS table entry CLWD, then used as counter to read the content part

CVE-2021-27627: A memory corruption vulnerability exists in function ChartInterpreter::DoIt() in IGS Portwatcher binary through the SAP IGS service. This function fails to verify the return value of several strchr() when checking the content of parameter input for a particular interpreter. By crafting a malicious network packet, an attacker can force the function to return 0x0 at a particular point, leading to breaking the calculation of the next parameter offset and crash.

Solution

SAP has released SAP Note 3021050 which provides patched versions of the affected components.

The patches can be downloaded from https://launchpad.support.sap.com/#/notes/3020104.

Onapsis strongly recommends SAP customers to download the related security fixes and apply them to the affected components in order to reduce business risks.

Report Timeline

  • 02/01/2021: Onapsis sends details to SAP
  • 02/04/2021: SAP provides internal ID
  • 02/08/2021: SAP confirms CVSS
  • 06/09/2021: SAP releases SAP Note fixing the issue.
  • 11/21/2021: Advisory published

REFERENCES

Advisory Information

  • Public Release Date: 11/21/2021
  • Security Advisory ID: ONAPSIS-2021-0019
  • Vulnerability Submission ID: 860, 859, 858, 856, 855, 854, 853
  • Researcher(s): Yvan Genuer

Vulnerability Information

  • Vendor: SAP
  • Vulnerability Class: |LS|CWE-20|RS| Improper Input Validation, |LS|CWE-125|RS| Out-of-bounds Read, |LS|CWE-476|RS| NULL Pointer Dereference
  • CVSS v3 score: 5.9 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
  • Severity: Medium
  • CVE:  CVE-2021-27620, CVE-2021-27622, CVE-2021-27624, CVE-2021-27625, CVE-2021-27626, CVE-2021-27627
  • Vendor patch Information: SAP Security Note 3021050

ABOUT OUR RESEARCH LABS

Onapsis Research Labs provides the industry analysis of key security issues that impact mission-critical systems and applications.

Delivering frequent and timely security and compliance advisories with associated risk levels, Onapsis Research Labs combine in-depth knowledge

and experience to deliver technical and business-context with sound security judgment to the broader information security community.

Find all reported vulnerabilities at https://github.com/Onapsis/vulnerability_advisories

This advisory is licensed under a Creative Commons 4.0 BY-ND International License

Ready to eliminate your SAP cyber security blindspot?

Let us show you how simple it can be to protect your business applications.