| 제목 | Tomato by Shibby Tomato Firmware Tomato v1.28.0000 -120 K26ARM USB AIO-64K Out-of-bounds Write |
|---|
| 설명 | All three apcupsd CGI programs share a common main() function pattern that reads the configuration file /usr/local/apcupsd/multimon.conf line by line. During parsing, the code performs an out-of-bounds NUL byte write that extends beyond the target stack buffer:
char v26[4096]; // stack buffer
char v27[6]; // adjacent small buffer
fgets(v27, 512, config_file); // reads up to 512 bytes from multimon.conf
v26[strlen(v27) + 4095] = 0; // OOB write when strlen(v27) > 0
The fgets(v27, 512, ...) call reads up to 512 bytes into v27, a 6-byte buffer adjacent to larger stack variables. The subsequent expression v26[strlen(v27) + 4095] = 0 writes a NUL byte at an offset from v26 that depends on the length of the line read. When strlen(v27) > 1, the write exceeds the 4096-byte bound of v26, corrupting adjacent stack data including saved registers and return addresses. |
|---|
| 원천 | ⚠️ https://gitee.com/Fengyi-Wang/CVE/issues/IJTQ5N |
|---|
| 사용자 | Anonymous User |
|---|
| 제출 | 2026. 06. 10. PM 03:56 (1 월 ago) |
|---|
| 모더레이션 | 2026. 07. 12. PM 11:01 (1 month later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 377895 [Shibby Tomato 까지 1.28.0000 apcupsd tomatodata.cgi main 메모리 손상] |
|---|
| 포인트들 | 20 |
|---|