{"id":"CVE-2026-12850","aliases":["EUVD-2026-38652","GHSA-4rcp-78rq-p2c3"],"status":"published","title":"GeoVision GV-I/O Box 4E libNetSetObj.so OS command injection vulnerability","description":"Multiple OS command injection vulnerabilities exist in the libNetSetObj.so functionality of GeoVision GV-I/O Box 4E 2.09. A specially crafted network packet can lead to command execution. An attacker can send a network request to trigger this vulnerability.\n\n\n`libNetSetObj.so` is an internal library used by various binaries on the device to configure the network stack (start and stop various services, configure IP, Netmask, gateway, dns, etc.)\n\n\n#### CNetSetObj::m_F_n_Set_Gate_way command injection\n\nThe following function takes a string as a gatewy address, performs no sanitization on it and calls `system`. This is a classic command injection vulnerability. The function is reachable from both the network-exposed `DVRSearch` service and the `Network.cgi` endpoint. \n\n\n\n\n\n    int __fastcall CNetSetObj::m_F_n_Set_Gate_way(const char **this, char *gw, char *dev)\n\n    {\n\n      char s[324]; // [sp+4h] [bp-144h] BYREF\n\n\n\n      if ( !dev \u0026\u0026 !*this || !gw )\n\n        return 0;\n\n      system(\"/sbin/route del -net 224.0.0.0 netmask 224.0.0.0\");\n\n      system(\"/sbin/route del default \");\n\n      if ( dev )\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, dev); //attacker controlled gw string\n\n      else\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      sprintf(s, \"/sbin/route add -net 224.0.0.0 netmask 224.0.0.0 gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      return 1;\n\n      }","severity":{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.02703,"percentile":0.86066,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-78"],"published":"2026-06-24T03:40:24Z","modified":"2026-10-25T23:10:00Z","products":[{"vendor":"geovision inc.","product":"gv-i/o box 4e"}],"references":[{"url":"https://www.geovision.com.tw/cyber_security.php","tags":["vendor-advisory"]},{"url":"https://talosintelligence.com/vulnerability_reports/TALOS-2026-2379","tags":["third-party-advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-12850"},{"url":"https://github.com/advisories/GHSA-4rcp-78rq-p2c3"}],"sources":{"cve":[{"id":"CVE-2026-12850","title":"GeoVision GV-I/O Box 4E libNetSetObj.so OS command injection vulnerability","description":"Multiple OS command injection vulnerabilities exist in the libNetSetObj.so functionality of GeoVision GV-I/O Box 4E 2.09. A specially crafted network packet can lead to command execution. An attacker can send a network request to trigger this vulnerability.\n\n\n`libNetSetObj.so` is an internal library used by various binaries on the device to configure the network stack (start and stop various services, configure IP, Netmask, gateway, dns, etc.)\n\n\n#### CNetSetObj::m_F_n_Set_Gate_way command injection\n\nThe following function takes a string as a gatewy address, performs no sanitization on it and calls `system`. This is a classic command injection vulnerability. The function is reachable from both the network-exposed `DVRSearch` service and the `Network.cgi` endpoint. \n\n\n\n\n\n    int __fastcall CNetSetObj::m_F_n_Set_Gate_way(const char **this, char *gw, char *dev)\n\n    {\n\n      char s[324]; // [sp+4h] [bp-144h] BYREF\n\n\n\n      if ( !dev \u0026\u0026 !*this || !gw )\n\n        return 0;\n\n      system(\"/sbin/route del -net 224.0.0.0 netmask 224.0.0.0\");\n\n      system(\"/sbin/route del default \");\n\n      if ( dev )\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, dev); //attacker controlled gw string\n\n      else\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      sprintf(s, \"/sbin/route add -net 224.0.0.0 netmask 224.0.0.0 gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      return 1;\n\n      }","status":"published","published":"2026-06-24T03:40:24.764Z","modified":"2026-06-24T12:52:28.883Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:19:48.461833Z"}],"euvd":[{"id":"EUVD-2026-38652","description":"Multiple OS command injection vulnerabilities exist in the libNetSetObj.so functionality of GeoVision GV-I/O Box 4E 2.09. A specially crafted network packet can lead to command execution. An attacker can send a network request to trigger this vulnerability.\n\n\n`libNetSetObj.so` is an internal library used by various binaries on the device to configure the network stack (start and stop various services, configure IP, Netmask, gateway, dns, etc.)\n\n\n#### CNetSetObj::m_F_n_Set_Gate_way command injection\n\nThe following function takes a string as a gatewy address, performs no sanitization on it and calls `system`. This is a classic command injection vulnerability. The function is reachable from both the network-exposed `DVRSearch` service and the `Network.cgi` endpoint. \n\n\n\n\n\n    int __fastcall CNetSetObj::m_F_n_Set_Gate_way(const char **this, char *gw, char *dev)\n\n    {\n\n      char s[324]; // [sp+4h] [bp-144h] BYREF\n\n\n\n      if ( !dev \u0026\u0026 !*this || !gw )\n\n        return 0;\n\n      system(\"/sbin/route del -net 224.0.0.0 netmask 224.0.0.0\");\n\n      system(\"/sbin/route del default \");\n\n      if ( dev )\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, dev); //attacker controlled gw string\n\n      else\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      sprintf(s, \"/sbin/route add -net 224.0.0.0 netmask 224.0.0.0 gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      return 1;\n\n      }","status":"published","published":"2026-06-24T03:40:24Z","modified":"2026-06-24T12:52:28Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T18:20:31.123469Z"}],"ghsa":[{"id":"GHSA-4rcp-78rq-p2c3","title":"Multiple OS command injection vulnerabilities exist in the libNetSetObj.so functionality of...","description":"Multiple OS command injection vulnerabilities exist in the libNetSetObj.so functionality of GeoVision GV-I/O Box 4E 2.09. A specially crafted network packet can lead to command execution. An attacker can send a network request to trigger this vulnerability.\n\n\n`libNetSetObj.so` is an internal library used by various binaries on the device to configure the network stack (start and stop various services, configure IP, Netmask, gateway, dns, etc.)\n\n\n#### CNetSetObj::m_F_n_Set_Gate_way command injection\n\nThe following function takes a string as a gatewy address, performs no sanitization on it and calls `system`. This is a classic command injection vulnerability. The function is reachable from both the network-exposed `DVRSearch` service and the `Network.cgi` endpoint. \n\n\n\n\n\n    int __fastcall CNetSetObj::m_F_n_Set_Gate_way(const char **this, char *gw, char *dev)\n\n    {\n\n      char s[324]; // [sp+4h] [bp-144h] BYREF\n\n\n\n      if ( !dev \u0026\u0026 !*this || !gw )\n\n        return 0;\n\n      system(\"/sbin/route del -net 224.0.0.0 netmask 224.0.0.0\");\n\n      system(\"/sbin/route del default \");\n\n      if ( dev )\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, dev); //attacker controlled gw string\n\n      else\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      sprintf(s, \"/sbin/route add -net 224.0.0.0 netmask 224.0.0.0 gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      return 1;\n\n      }","status":"published","published":"2026-06-24T06:31:45Z","modified":"2026-06-24T06:31:51Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:08:57.478089Z"}],"nvd":[{"id":"CVE-2026-12850","description":"Multiple OS command injection vulnerabilities exist in the libNetSetObj.so functionality of GeoVision GV-I/O Box 4E 2.09. A specially crafted network packet can lead to command execution. An attacker can send a network request to trigger this vulnerability.\n\n\n`libNetSetObj.so` is an internal library used by various binaries on the device to configure the network stack (start and stop various services, configure IP, Netmask, gateway, dns, etc.)\n\n\n#### CNetSetObj::m_F_n_Set_Gate_way command injection\n\nThe following function takes a string as a gatewy address, performs no sanitization on it and calls `system`. This is a classic command injection vulnerability. The function is reachable from both the network-exposed `DVRSearch` service and the `Network.cgi` endpoint. \n\n\n\n\n\n    int __fastcall CNetSetObj::m_F_n_Set_Gate_way(const char **this, char *gw, char *dev)\n\n    {\n\n      char s[324]; // [sp+4h] [bp-144h] BYREF\n\n\n\n      if ( !dev \u0026\u0026 !*this || !gw )\n\n        return 0;\n\n      system(\"/sbin/route del -net 224.0.0.0 netmask 224.0.0.0\");\n\n      system(\"/sbin/route del default \");\n\n      if ( dev )\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, dev); //attacker controlled gw string\n\n      else\n\n        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      sprintf(s, \"/sbin/route add -net 224.0.0.0 netmask 224.0.0.0 gw %s dev %s\", gw, *this); //attacker controlled gw string\n\n      system(s);\n\n      return 1;\n\n      }","status":"published","published":"2026-06-24T05:17:27.02Z","modified":"2026-10-25T23:10:00.167Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:12:25.288279Z"}]}}
