| Title | Tomato by Shibby Tomato Firmware 1.28 Stack-based Buffer Overflow |
|---|
| Description | `tomatodata.cgi` retrieves UPS information and parses the UPS response field identified as `DATE`.
In the verified sample, `cgi_main()` calls:
get_ups_field(host, "date", &stack_buf, 0x100);
where `stack_buf` is a 256-byte stack buffer.
The `date` field maps to the `DATE` token with `mode=0`, which forces execution into the unbounded byte-copy path in `get_ups_field()` at `0x9040`. That path copies bytes until a newline is encountered and does not enforce the caller-provided length argument `a4`.
As a result, an attacker-controlled `DATE` field longer than 256 bytes causes an out-of-bounds write on the stack. |
|---|
| Source | ⚠️ https://gitee.com/Fengyi-Wang/CVE/issues/IJK7BC |
|---|
| User | Cormac315 (UID 97273) |
|---|
| Submission | 05/02/2026 16:12 (2 months ago) |
|---|
| Moderation | 05/29/2026 10:32 (27 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 367151 [Shibby Tomato 1.28 tomatodata.cgi get_ups_field Date stack-based overflow] |
|---|
| Points | 20 |
|---|