
CVE-2026-12485
Disclosure Date: June 23, 2026
CWE: CWE-121 – Stack-Based Buffer Overflow
Attack Vector: Network (Unauthenticated)
An unauthenticated stack-based buffer overflow vulnerability in the DVRSearch service of the GeoVision GV-I/O Box 4E allows remote attackers to achieve arbitrary code execution and fully compromise affected devices.
| Product | Version | Status |
|---|---|---|
| GeoVision GV-I/O Box 4E | 2.09 | Vulnerable |
The vulnerability resides within the CMD_IP_SET functionality of the DVRSearch service. An unsafe memcpy() operation copies user-controlled data into a fixed-size stack buffer without validating the length of the source input.
v3 = strlen(g_network_config->ip_addr);
memcpy(&reply_buf[36], g_network_config->ip_addr, v3);
Because the destination buffer boundaries are not enforced, a specially crafted request can trigger a stack buffer overflow, potentially allowing an attacker to overwrite execution flow and execute arbitrary code.
Successful exploitation may allow an attacker to:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Base Score: 10.0 (Critical)
DVRSearch.DVRSearch service.| Date | Event |
|---|---|
| 2026-06-23 | Vulnerability publicly disclosed |
| 2026-06-23 | CVE identifier assigned |
| 2026-06-23 | Technical advisory released |
Here's what you should see when running the checker:
$ python3 CVE-2026-12485-check.py 192.168.1.100
============================================================
Safe CVE-2026-12485 (GV-I/O Box 4E DVRSearch) Checker
============================================================
Target: 192.168.1.100:10001
This script does NOT exploit the vulnerability.
[+] Sending safe probe to 192.168.1.100:10001 ...
[+] Received response (XXX bytes) from ('192.168.1.100', 10001)
[+] Service appears active. Response preview: b'\x00\x00...'
============================================================
Recommendation:
- If service responds → Update firmware immediately (GV-IOBOX_2026-06-01).
- Block UDP/10001 from untrusted sources.
- Full advisory: https://talosintelligence.com/vulnerability_reports/TALOS-2026-2377
============================================================
--length-test OptionYou’ll see additional lines like:
[+] Performing safe length test (non-crashing)...
Testing payload size: 54 bytes...
[+] Size 54 -> Response received (XXX bytes)
Testing payload size: 104 bytes...
[+] Size 104 -> Response received (XXX bytes)
...
Next Steps if it responds:
This repository is intended solely for educational, research, and defensive security purposes.
No exploit code is provided. Any testing should only be performed against systems for which you have explicit authorization.
| Field | Value |
|---|
| CVE ID | CVE-2026-12485 |
| CVSS v3.1 | 10.0 (Critical) |
| CWE | CWE-121 |
| Affected Product | GeoVision GV-I/O Box 4E |
| Affected Version | Firmware v2.09 |
| Authentication Required | No |
| User Interaction | None |
| Impact | Remote Code Execution |
| Metric | Value |
|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | None |
| Scope | Changed |
| Confidentiality | High |
| Integrity | High |
| Availability | High |
| Situation | What You’ll See | Meaning |
|---|
| Service running | "Received response" | Vulnerable service is listening |
| No response | "No response received (timeout)" | Firewall, service stopped, or wrong IP |
| Service crashed (unlikely) | Script hangs / target stops responding | You went too far (don't do with this script) |
| Permission denied / error | Socket error | Run as root or firewall issue |