Submit #992244: DrayTek Vigor2960 Vigor2960 1.5.1.6 (revision 8218) Upload Filename Command Injection Across Multiple Authenticatedinfo

TitleDrayTek Vigor2960 Vigor2960 1.5.1.6 (revision 8218) Upload Filename Command Injection Across Multiple Authenticated
DescriptionThe following authenticated upload endpoints share the same file-name command injection flaw and should be validated one by one: POST /cgi-bin/mainfunction.cgi/uploadlangs Impact: the uploaded file name reaches an unquoted mv command and can execute arbitrary shell commands. POST /cgi-bin/mainfunction.cgi/certificaterequestupload Impact: the uploaded file name reaches a single-quoted /sbin/import_cert_req command and can break out of quoting to execute arbitrary shell commands. POST /cgi-bin/mainfunction.cgi/userkeyupload Impact: the uploaded file name reaches a single-quoted /sbin/import_ca command and can break out of quoting to execute arbitrary shell commands. POST /cgi-bin/mainfunction.cgi/usercetificateupload Impact: the uploaded file name reaches a single-quoted /sbin/import_cert command and can break out of quoting to execute arbitrary shell commands. POST /cgi-bin/mainfunction.cgi/trustcaupload Impact: the uploaded file name reaches a single-quoted /sbin/import_ca command and can break out of quoting to execute arbitrary shell commands. Root cause: The uploaded file name, after only basename-style handling, is inserted directly into mv or /sbin/import_* commands without shell-semantic isolation. Confirmed impact: An authenticated attacker can trigger arbitrary shell command execution across multiple upload handlers, one route at a time. ## Vendor Confirmation The vulnerability has been officially confirmed. The email is available at: https://github.com/yikesoftware/DrayTek_Vigor2960_Security_Analysis/tree/main/vendor_confirm The official fix for this vulnerability has been released: https://fw.draytek.com.tw/Vigor2960/Firmware/v1.5.1.7/Vigor2960_v1.5.1.7.zip
Source⚠️ https://github.com/yikesoftware/DrayTek_Vigor2960_Security_Analysis/tree/main/cases/DRV2960-0008-authenticated-upload-filename-command-injection
User
 eqqie (UID 101441)
Submission09/19/2026 16:49 (1 month ago)
Moderation10/20/2026 07:50 (1 month later)
StatusAccepted
VulDB entry422667 [DrayTek Vigor2960 1.5.1.6 Revision 8218 Upload Endpoint mainfunction.cgi uploadlangs command injection]
Points20

Want to know what is going to be exploited?

We predict KEV entries!