Experts released PoC exploit code for RCE in QNAP QTS
May 21, 2024
Experts warn of fifteen vulnerabilities in the QNAP QTS, the operating system for the Taiwanese vendor’s NAS products.
An audit of QNAP QTS conducted by WatchTowr Labs revealed fifteen vulnerabilities, most of which have yet to be addressed. The most severe vulnerability is a flaw tracked as CVE-2024-27130. The issue is an unpatched stack buffer overflow vulnerability in the ‘No_Support_ACL’ function of ‘share.cgi,’ an unauthenticated attacker can exploit this issue to perform remote code execution under certain conditions.
The WatchTowr Labs researchers also published technical details of the flaw CVE-2024-27130 and a proof of concept (PoC) exploit code.
An attacker can exploit CVE-2024-27130 by sending a malicious request with a specially crafted ‘name’ parameter, causing a buffer overflow and leading to remote code execution. To do this, the attacker needs a valid ‘ssid’ parameter, generated when a NAS user shares a file from their QNAP device. This parameter is included in the URL of the ‘share’ link. An attacker can obtain the parameter by using a social engineering technique.
“Unsafe use of strcpy
in No_Support_ACL
accessible by get_file_size
function of share.cgi
leads to stack buffer overflow and thus RCE” reads the advisory published by WatchTowr Labs. To exploit the flaw, an attacker needs a valid NAS user to share a file.
The other vulnerabilities impacting Network Attached Storage (NAS) discovered by WatchTowr code execution, buffer overflow, memory corruption, authentication bypass, and XSS issues impacting the security of Network Attached Storage (NAS) devices across different deployment environments.
Below is the full list of the vulnerabilities discovered by the experts:
Bug | Nature | Fix status | Requirements |
CVE-2023-50361 | Unsafe use of sprintf in getQpkgDir invoked from userConfig.cgi leads to stack buffer overflow and thus RCE |
Patched (see text) | Requires valid account on NAS device |
CVE-2023-50362 | Unsafe use of SQLite functions accessible via parameter addPersonalSmtp to userConfig.cgi leads to stack buffer overflow and thus RCE |
Patched (see text) | Requires valid account on NAS device |
CVE-2023-50363 | Missing authentication allows two-factor authentication to be disabled for arbitrary user | Patched (see text) | Requires valid account on NAS device |
CVE-2023-50364 | Heap overflow via long directory name when file listing is viewed by get_dirs function of privWizard.cgi leads to RCE |
Patched (see text) | Requires ability to write files to the NAS filesystem |
CVE-2024-21902 | Missing authentication allows all users to view or clear system log, and perform additional actions (details to follow, too much to list here) | Accepted by vendor; no fix available (first reported December 12th 2023) | Requires valid account on NAS device |
CVE-2024-27127 | A double-free in utilRequest.cgi via the delete_share function |
Accepted by vendor; no fix available (first reported January 3rd 2024) | Requires valid account on NAS device |
CVE-2024-27128 | Stack overflow in check_email function, reachable via the share_file and send_share_mail actions of utilRequest.cgi (possibly others) leads to RCE |
Accepted by vendor; no fix available (first reported January 3rd 2024) | Requires valid account on NAS device |
CVE-2024-27129 | Unsafe use of strcpy in get_tree function of utilRequest.cgi leads to static buffer overflow and thus RCE |
Accepted by vendor; no fix available (first reported January 3rd 2024) | Requires valid account on NAS device |
CVE-2024-27130 | Unsafe use of strcpy in No_Support_ACL accessible by get_file_size function of share.cgi leads to stack buffer overflow and thus RCE |
Accepted by vendor; no fix available (first reported January 3rd 2024) | Requires a valid NAS user to share a file |
CVE-2024-27131 | Log spoofing via x-forwarded-for allows users to cause downloads to be recorded as requested from arbitrary source location |
Accepted by vendor; no fix available (first reported January 3rd 2024) | Requires ability to download a file |
WT-2023-0050 | N/A | Under extended embargo due to unexpectedly complex issue | N/A |
WT-2024-0004 | Stored XSS via remote syslog messages | No fix available (first reported January 8th 2024) | Requires non-default configuration |
WT-2024-0005 | Stored XSS via remote device discovery | No fix available (first reported January 8th 2024) | None |
WT-2024-0006 | Lack of rate-limiting on authentication API | No fix available (first reported January 23rd 2024) | None |
WT-2024-00XX | N/A | Under 90-day embargo as per VDP (first reported May 11th 2024) | N/A |
The flaws impact QTS, QuTScloud, and QTS hero.
The vendor responded to the vulnerability reports submitted between December 12, 2023, and January 23, 2024, with multiple delays and has fixed only four of the fifteen flaws.
At this time, QNAP only addressed CVE-2023-50361, CVE-2023-50362, CVE-2023-50363, and CVE-2023-50364 with the release of a security update in April 2024. The following versions fixed the four vulnerabilities:
- QTS 5.1.6.2722 build 20240402 and later
- QuTS hero h5.1.6.2734 build 20240414 and later
Follow me on Twitter: @securityaffairs and Facebook and Mastodon
Pierluigi Paganini
(SecurityAffairs – hacking, RCE)