Every CVE Search/ Get API key

CVE-2026-57268

GeoVision GeoWebPlayer Websocket Server out-of-bounds read vulnerability

8.3 High

GeoWebPlayer (also called "Web Plugin" in the GV-VMS documentation and "WS Player" for VMS-Cloud) is an addon that can be installed with various GeoVision software (GV-VMS, GV-Cloud, ...). It creates a websocket server that expands the capabilities of the various web-interfaces provided by the GeoVision software and may be necessary for them to function properly.

The Websocket server can accept various commands coming from localhost. Many of the commands will take an index value that is then used to access various arrays to enter critical sections, perform various actions via function calls, etc. However the index value is usually not checked for valid range, and as such it can be used to access multiple arrays out-of-bound.

saveVideo command index-out-of-bound

When sending the saveVideo command, the index field is extracted from the websocket message [1]. Then without checking the range of the index, it is used to trigger a CriticalSection ([2]) and releases it [3]. The release function call ([3]) is executed using a function pointer which will be read out of bounds potentially leading to code execution:

 v6 = get_entry(a2, "index");

  result = json_is_value_int(v6);

  if ( (_BYTE)result )

  {

    v8 = get_entry(a2, "index");

    index = json_value_to_int(&v8->value);  // [1]

    result = CCriticalSection::EnterCritSection(&this->crit_sections[index]);  //[2]

    if ( result )

    {

      if ( this->array_of_IPCams[index] )

      {

        if ( this->array_of_IPCams[index]->field_20 )

          do_PostMessageA((CViewer *)this->array_of_IPCams[index], 0x111u, 0x139Fu, v11);

      }

      return (*(int (__thiscall **)(CCriticalSection *))(this->crit_sections[index].vtbl + 20))(&this->crit_sections[index]); //[3]

    }

  }

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.45%Up 0.2 points since Jul 2, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.3

GeoVision GeoWebPlayer Websocket Server out-of-bounds read vulnerability

GeoWebPlayer (also called "Web Plugin" in the GV-VMS documentation and "WS Player" for VMS-Cloud) is an addon that can be installed with various GeoVision software (GV-VMS, GV-Cloud, ...). It creates a websocket server that expands the capabilities of the various web-interfaces provided by the GeoVision software and may be necessary for them to function properly.

The Websocket server can accept various commands coming from localhost. Many of the commands will take an index value that is then used to access various arrays to enter critical sections, perform various actions via function calls, etc. However the index value is usually not checked for valid range, and as such it can be used to access multiple arrays out-of-bound.

saveVideo command index-out-of-bound

When sending the saveVideo command, the index field is extracted from the websocket message [1]. Then without checking the range of the index, it is used to trigger a CriticalSection ([2]) and releases it [3]. The release function call ([3]) is executed using a function pointer which will be read out of bounds potentially leading to code execution:

 v6 = get_entry(a2, "index");

  result = json_is_value_int(v6);

  if ( (_BYTE)result )

  {

    v8 = get_entry(a2, "index");

    index = json_value_to_int(&v8->value);  // [1]

    result = CCriticalSection::EnterCritSection(&this->crit_sections[index]);  //[2]

    if ( result )

    {

      if ( this->array_of_IPCams[index] )

      {

        if ( this->array_of_IPCams[index]->field_20 )

          do_PostMessageA((CViewer *)this->array_of_IPCams[index], 0x111u, 0x139Fu, v11);

      }

      return (*(int (__thiscall **)(CCriticalSection *))(this->crit_sections[index].vtbl + 20))(&this->crit_sections[index]); //[3]

    }

  }
Record
CVE-2026-57268
CVSS 3.1
8.3 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
Weakness
CWE-129
Updated
2026-11-02
EUVDEUVD-2026-41230 8.3

GeoWebPlayer (also called "Web Plugin" in the GV-VMS documentation and "WS Player" for VMS-Cloud) is an addon that can be installed with various GeoVision software (GV-VMS, GV-Cloud, ...). It creates a websocket server that expands the capabilities of the various web-interfaces provided by the GeoVision software and may be necessary for them to function properly.

The Websocket server can accept various commands coming from localhost. Many of the commands will take an index value that is then used to access various arrays to enter critical sections, perform various actions via function calls, etc. However the index value is usually not checked for valid range, and as such it can be used to access multiple arrays out-of-bound.

saveVideo command index-out-of-bound

When sending the saveVideo command, the index field is extracted from the websocket message [1]. Then without checking the range of the index, it is used to trigger a CriticalSection ([2]) and releases it [3]. The release function call ([3]) is executed using a function pointer which will be read out of bounds potentially leading to code execution:

 v6 = get_entry(a2, "index");

  result = json_is_value_int(v6);

  if ( (_BYTE)result )

  {

    v8 = get_entry(a2, "index");

    index = json_value_to_int(&v8->value);  // [1]

    result = CCriticalSection::EnterCritSection(&this->crit_sections[index]);  //[2]

    if ( result )

    {

      if ( this->array_of_IPCams[index] )

      {

        if ( this->array_of_IPCams[index]->field_20 )

          do_PostMessageA((CViewer *)this->array_of_IPCams[index], 0x111u, 0x139Fu, v11);

      }

      return (*(int (__thiscall **)(CCriticalSection *))(this->crit_sections[index].vtbl + 20))(&this->crit_sections[index]); //[3]

    }

  }
Record
EUVD-2026-41230
CVSS 3.1
8.3 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-fxf5-23x5-47m9 8.3

GeoWebPlayer (also called "Web Plugin" in the GV-VMS documentation and "WS Player" for VMS-Cloud)...

GeoWebPlayer (also called "Web Plugin" in the GV-VMS documentation and "WS Player" for VMS-Cloud) is an addon that can be installed with various GeoVision software (GV-VMS, GV-Cloud, ...). It creates a websocket server that expands the capabilities of the various web-interfaces provided by the GeoVision software and may be necessary for them to function properly.

The Websocket server can accept various commands coming from localhost. Many of the commands will take an index value that is then used to access various arrays to enter critical sections, perform various actions via function calls, etc. However the index value is usually not checked for valid range, and as such it can be used to access multiple arrays out-of-bound.

saveVideo command index-out-of-bound

When sending the saveVideo command, the index field is extracted from the websocket message [1]. Then without checking the range of the index, it is used to trigger a CriticalSection ([2]) and releases it [3]. The release function call ([3]) is executed using a function pointer which will be read out of bounds potentially leading to code execution:

 v6 = get_entry(a2, "index");

  result = json_is_value_int(v6);

  if ( (_BYTE)result )

  {

    v8 = get_entry(a2, "index");

    index = json_value_to_int(&v8->value);  // [1]

    result = CCriticalSection::EnterCritSection(&this->crit_sections[index]);  //[2]

    if ( result )

    {

      if ( this->array_of_IPCams[index] )

      {

        if ( this->array_of_IPCams[index]->field_20 )

          do_PostMessageA((CViewer *)this->array_of_IPCams[index], 0x111u, 0x139Fu, v11);

      }

      return (*(int (__thiscall **)(CCriticalSection *))(this->crit_sections[index].vtbl + 20))(&this->crit_sections[index]); //[3]

    }

  }
Record
GHSA-fxf5-23x5-47m9
CVSS 3.1
8.3 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
Weakness
CWE-129
Updated
2026-11-02
NVD 8.3

GeoWebPlayer (also called "Web Plugin" in the GV-VMS documentation and "WS Player" for VMS-Cloud) is an addon that can be installed with various GeoVision software (GV-VMS, GV-Cloud, ...). It creates a websocket server that expands the capabilities of the various web-interfaces provided by the GeoVision software and may be necessary for them to function properly.

The Websocket server can accept various commands coming from localhost. Many of the commands will take an index value that is then used to access various arrays to enter critical sections, perform various actions via function calls, etc. However the index value is usually not checked for valid range, and as such it can be used to access multiple arrays out-of-bound.

saveVideo command index-out-of-bound

When sending the saveVideo command, the index field is extracted from the websocket message [1]. Then without checking the range of the index, it is used to trigger a CriticalSection ([2]) and releases it [3]. The release function call ([3]) is executed using a function pointer which will be read out of bounds potentially leading to code execution:

 v6 = get_entry(a2, "index");

  result = json_is_value_int(v6);

  if ( (_BYTE)result )

  {

    v8 = get_entry(a2, "index");

    index = json_value_to_int(&v8->value);  // [1]

    result = CCriticalSection::EnterCritSection(&this->crit_sections[index]);  //[2]

    if ( result )

    {

      if ( this->array_of_IPCams[index] )

      {

        if ( this->array_of_IPCams[index]->field_20 )

          do_PostMessageA((CViewer *)this->array_of_IPCams[index], 0x111u, 0x139Fu, v11);

      }

      return (*(int (__thiscall **)(CCriticalSection *))(this->crit_sections[index].vtbl + 20))(&this->crit_sections[index]); //[3]

    }

  }
Record
CVE-2026-57268
CVSS 3.1
8.3 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
Weakness
CWE-129
Updated
2026-11-02

Affected products

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-57268 is a high vulnerability (CVSS 8.3) in Geovision Inc. Geowebplayer, published July 2, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.45%, the 39th percentile. No source names a fixed version.

References

MoveEnter Open