| 标题 | DrayTek Vigor2960 Vigor2960 1.5.1.6 (revision 8218) Authenticated check_file_exist Heap Memory Corruption |
|---|
| 描述 | check_file_exist appends the user-controlled upload_name to the buffer associated with another CGI parameter without checking the destination capacity. The current PoC uses the device's existing valid UCI package /etc/config-default/general_conf: an 8-byte upload_name returns normal JSON, while a 0x100-byte input makes the same CGI request return an empty body. A previously captured ARM core further confirms memory corruption and a SIGSEGV during CGI cleanup.
Affected interface: POST /cgi-bin/mainfunction.cgi with action=check_file_exist
Attacker-controlled parameter: upload_name
Confirmed impact: an authenticated attacker can corrupt CGI process memory and crash the current mainfunction.cgi process.
## 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 |
|---|
| 来源 | ⚠️ https://github.com/yikesoftware/DrayTek_Vigor2960_Security_Analysis/tree/main/cases/DRV2960-0020-authenticated-check-file-exist-direct-cgi-core |
|---|
| 用户 | eqqie (UID 101441) |
|---|
| 提交 | 2026-10-20 08時16分 (26 日前) |
|---|
| 管理 | 2026-11-14 19時13分 (25 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 437464 [DrayTek Vigor2960 1.5.1.6 File Existence Check mainfunction.cgi check_file_exist upload_name 内存损坏] |
|---|
| 积分 | 20 |
|---|