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;
}
Severity
9.1 (Critical)
CWE
- CWE-78 - Improper neutralization of special elements used in an OS command ('OS command injection')
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://www.geovision.com.tw/cyber_security.php | vendor-advisory |
| https://talosintelligence.com/vulnerability_repor… | third-party-advisory |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| GeoVision Inc. | GV-I/O Box 4E |
Affected:
V2.09
Unaffected: V2.12 |
Date Public
2026-06-17 03:31
Credits
{
"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"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
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…
Loading…