Executive brief
A vulnerability exists in the Shibby Tomato firmware, which is software used to manage various home and small office routers. The flaw is located in a component used for monitoring Uninterruptible Power Supplies (UPS). If an attacker can control or spoof a UPS device on the network, they can send specially crafted data that crashes the router or potentially allows them to take control of the device. This product is no longer supported, and users are encouraged to migrate to FreshTomato.
Technical details
A stack-based buffer overflow exists in the sub_90F0 function within multimon.cgi of Shibby Tomato firmware 1.28. The vulnerability is caused by a lack of bounds checking when parsing APC UPS monitoring data. Specifically, the parser uses an unsafe newline-terminated byte-copy loop and an unbounded sscanf() call to write UPS response fields into fixed-size stack buffers (e.g., 0x40 or 0x100 bytes). An attacker who can control or spoof a configured UPS endpoint can return oversized field values (such as DATE or ITEMP) to trigger the overflow. This can lead to memory corruption, process crashes, and potential control-flow hijacking. The issue has been runtime-verified on ARM architecture.
Affected products
- Shibby Tomato 1.28 1.28.0000 -120 K26ARM USB AIO-64K
Timeline
- 2026-05-02: disclosed: Initial discovery and report by Fengyi Wang
- 2026-05-29: advisory: CVE published via VulDB/NVD