CVE-2026-12850 (GCVE-0-2026-12850)

Vulnerability from cvelistv5 – Published: 2026-06-24 03:40 – Updated: 2026-06-24 03:40
VLAI
Title
GeoVision GV-I/O Box 4E libNetSetObj.so OS command injection vulnerability
Summary
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. `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.) #### CNetSetObj::m_F_n_Set_Gate_way command injection The 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. int __fastcall CNetSetObj::m_F_n_Set_Gate_way(const char **this, char *gw, char *dev) { char s[324]; // [sp+4h] [bp-144h] BYREF if ( !dev && !*this || !gw ) return 0; system("/sbin/route del -net 224.0.0.0 netmask 224.0.0.0"); system("/sbin/route del default "); if ( dev ) sprintf(s, "/sbin/route add default gw %s dev %s", gw, dev); //attacker controlled gw string else sprintf(s, "/sbin/route add default gw %s dev %s", gw, *this); //attacker controlled gw string system(s); 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 system(s); return 1; }
CWE
  • CWE-78 - Improper neutralization of special elements used in an OS command ('OS command injection')
Assigner
GV
References
Impacted products
Vendor Product Version
GeoVision Inc. GV-I/O Box 4E Affected: V2.09
Unaffected: V2.12
Create a notification for this product.
Date Public
2026-06-17 03:31
Credits
Philippe Laulheret of Cisco Talos Kelly Patterson of Cisco Talos Robert Sherwin of Cisco Talos
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "platforms": [
            "Linux"
          ],
          "product": "GV-I/O Box 4E",
          "vendor": "GeoVision Inc.",
          "versions": [
            {
              "status": "affected",
              "version": "V2.09"
            },
            {
              "status": "unaffected",
              "version": "V2.12"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:a:geovision_inc.:gv-i_o_box_4e:v2.09:*:linux:*:*:*:*:*",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:a:geovision_inc.:gv-i_o_box_4e:v2.12:*:linux:*:*:*:*:*",
                  "vulnerable": false
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ],
          "operator": "OR"
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Philippe Laulheret of Cisco Talos"
        },
        {
          "lang": "en",
          "type": "remediation reviewer",
          "value": "Kelly Patterson of Cisco Talos"
        },
        {
          "lang": "en",
          "type": "coordinator",
          "value": "Robert Sherwin  of Cisco Talos"
        }
      ],
      "datePublic": "2026-06-17T03:31:00.000Z",
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "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.\u003cdiv\u003e\u003cbr\u003e\u003c/div\u003e\u003cdiv\u003e`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\u003cbr\u003e\u003cbr\u003e#### CNetSetObj::m_F_n_Set_Gate_way command injection\u003cbr\u003e\u003cbr\u003eThe 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\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e    int __fastcall CNetSetObj::m_F_n_Set_Gate_way(const char **this, char *gw, char *dev)\n\u003cbr\u003e    {\n\u003cbr\u003e      char s[324]; // [sp+4h] [bp-144h] BYREF\n\u003cbr\u003e\n\u003cbr\u003e      if ( !dev \u0026amp;\u0026amp; !*this || !gw )\n\u003cbr\u003e        return 0;\n\u003cbr\u003e      system(\"/sbin/route del -net 224.0.0.0 netmask 224.0.0.0\");\n\u003cbr\u003e      system(\"/sbin/route del default \");\n\u003cbr\u003e      if ( dev )\n\u003cbr\u003e        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, dev); //attacker controlled gw string\n\u003cbr\u003e      else\n\u003cbr\u003e        sprintf(s, \"/sbin/route add default gw %s dev %s\", gw, *this); //attacker controlled gw string\n\u003cbr\u003e      system(s);\n\u003cbr\u003e      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\u003cbr\u003e      system(s);\n\u003cbr\u003e      return 1;\n\u003cbr\u003e      }\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003cdiv\u003e\u003cbr\u003e\u003c/div\u003e"
            }
          ],
          "value": "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      }"
        }
      ],
      "impacts": [
        {
          "descriptions": [
            {
              "lang": "en",
              "value": "capec-10"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 9.1,
            "baseSeverity": "CRITICAL",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "HIGH",
            "scope": "CHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H",
            "version": "3.1"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-78",
              "description": "CWE-78 Improper neutralization of special elements used in an OS command (\u0027OS command injection\u0027)",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-06-24T03:40:24.764Z",
        "orgId": "0df08a0e-a200-4957-9bb0-084f562506f9",
        "shortName": "GV"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://www.geovision.com.tw/cyber_security.php"
        },
        {
          "tags": [
            "third-party-advisory"
          ],
          "url": "https://talosintelligence.com/vulnerability_reports/TALOS-2026-2379"
        }
      ],
      "source": {
        "discovery": "UNKNOWN"
      },
      "timeline": [
        {
          "lang": "en",
          "time": "2026-04-21T07:34:00.000Z",
          "value": "Finder Reports Vulnerabilties to Vendor"
        }
      ],
      "title": "GeoVision GV-I/O Box 4E libNetSetObj.so OS command injection vulnerability",
      "x_generator": {
        "engine": "Vulnogram 1.0.2"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "0df08a0e-a200-4957-9bb0-084f562506f9",
    "assignerShortName": "GV",
    "cveId": "CVE-2026-12850",
    "datePublished": "2026-06-24T03:40:24.764Z",
    "dateReserved": "2026-06-22T00:42:27.477Z",
    "dateUpdated": "2026-06-24T03:40:24.764Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-12850",
      "date": "2026-06-24",
      "epss": "0.0172",
      "percentile": "0.74518"
    },
    "vulnrichment": {
      "containers": "{\"cna\": {\"providerMetadata\": {\"orgId\": \"0df08a0e-a200-4957-9bb0-084f562506f9\", \"shortName\": \"GV\", \"dateUpdated\": \"2026-06-24T03:40:24.764Z\"}, \"title\": \"GeoVision GV-I/O Box 4E libNetSetObj.so OS command injection vulnerability\", \"datePublic\": \"2026-06-17T03:31:00.000Z\", \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"cweId\": \"CWE-78\", \"description\": \"CWE-78 Improper neutralization of special elements used in an OS command (\u0027OS command injection\u0027)\", \"type\": \"CWE\"}]}], \"impacts\": [{\"descriptions\": [{\"lang\": \"en\", \"value\": \"capec-10\"}]}], \"affected\": [{\"vendor\": \"GeoVision Inc.\", \"product\": \"GV-I/O Box 4E\", \"platforms\": [\"Linux\"], \"versions\": [{\"status\": \"affected\", \"version\": \"V2.09\"}, {\"status\": \"unaffected\", \"version\": \"V2.12\"}], \"defaultStatus\": \"unaffected\"}], \"cpeApplicability\": [{\"operator\": \"OR\", \"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:geovision_inc.:gv-i_o_box_4e:v2.09:*:linux:*:*:*:*:*\"}, {\"vulnerable\": false, \"criteria\": \"cpe:2.3:a:geovision_inc.:gv-i_o_box_4e:v2.12:*:linux:*:*:*:*:*\"}]}]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"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      }\", \"supportingMedia\": [{\"type\": \"text/html\", \"base64\": false, \"value\": \"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.\u003cdiv\u003e\u003cbr\u003e\u003c/div\u003e\u003cdiv\u003e`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\u003cbr\u003e\u003cbr\u003e#### CNetSetObj::m_F_n_Set_Gate_way command injection\u003cbr\u003e\u003cbr\u003eThe 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\u003cbr\u003e\\n\u003cbr\u003e\\n\u003cbr\u003e    int __fastcall CNetSetObj::m_F_n_Set_Gate_way(const char **this, char *gw, char *dev)\\n\u003cbr\u003e    {\\n\u003cbr\u003e      char s[324]; // [sp+4h] [bp-144h] BYREF\\n\u003cbr\u003e\\n\u003cbr\u003e      if ( !dev \u0026amp;\u0026amp; !*this || !gw )\\n\u003cbr\u003e        return 0;\\n\u003cbr\u003e      system(\\\"/sbin/route del -net 224.0.0.0 netmask 224.0.0.0\\\");\\n\u003cbr\u003e      system(\\\"/sbin/route del default \\\");\\n\u003cbr\u003e      if ( dev )\\n\u003cbr\u003e        sprintf(s, \\\"/sbin/route add default gw %s dev %s\\\", gw, dev); //attacker controlled gw string\\n\u003cbr\u003e      else\\n\u003cbr\u003e        sprintf(s, \\\"/sbin/route add default gw %s dev %s\\\", gw, *this); //attacker controlled gw string\\n\u003cbr\u003e      system(s);\\n\u003cbr\u003e      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\u003cbr\u003e      system(s);\\n\u003cbr\u003e      return 1;\\n\u003cbr\u003e      }\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003cdiv\u003e\u003cbr\u003e\u003c/div\u003e\"}]}], \"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\"]}], \"metrics\": [{\"format\": \"CVSS\", \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}], \"cvssV3_1\": {\"version\": \"3.1\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"HIGH\", \"userInteraction\": \"NONE\", \"scope\": \"CHANGED\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"HIGH\", \"baseSeverity\": \"CRITICAL\", \"baseScore\": 9.1, \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H\"}}], \"timeline\": [{\"time\": \"2026-04-21T07:34:00.000Z\", \"lang\": \"en\", \"value\": \"Finder Reports Vulnerabilties to Vendor\"}], \"credits\": [{\"lang\": \"en\", \"value\": \"Philippe Laulheret of Cisco Talos\", \"type\": \"finder\"}, {\"lang\": \"en\", \"value\": \"Kelly Patterson of Cisco Talos\", \"type\": \"remediation reviewer\"}, {\"lang\": \"en\", \"value\": \"Robert Sherwin  of Cisco Talos\", \"type\": \"coordinator\"}], \"source\": {\"discovery\": \"UNKNOWN\"}, \"x_generator\": {\"engine\": \"Vulnogram 1.0.2\"}}, \"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-12850\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-06-24T12:51:53.369783Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-06-24T12:52:25.787Z\"}}]}",
      "cveMetadata": "{\"cveId\": \"CVE-2026-12850\", \"assignerOrgId\": \"0df08a0e-a200-4957-9bb0-084f562506f9\", \"state\": \"PUBLISHED\", \"assignerShortName\": \"GV\", \"dateReserved\": \"2026-06-22T00:42:27.477Z\", \"datePublished\": \"2026-06-24T03:40:24.764Z\", \"dateUpdated\": \"2026-06-24T12:52:28.883Z\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…