GameNetworkingSockets
GameNetworkingSockets copied to clipboard
Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.
## Vulnerability Summary A **CWE-190: Integer Overflow** vulnerability exists in the `SendMessageToUser` function of the **GameNetworkingSockets** library. The vulnerable code calculates a buffer size using a user-controlled input without validating...
It seems that [`CSteamNetworkingMessage` doesn't pool messages](https://github.com/ValveSoftware/GameNetworkingSockets/blob/725e273c7442bac7a8bc903c0b210b1c15c34d92/src/steamnetworkingsockets/clientlib/steamnetworkingsockets_connections.cpp#L106-L114). This means that for each call to `ISteamNetworkingUtils::AllocateMessage()`, it dynamically allocates 264 bytes structure (on 64-bit environments). This could be slow if you...
I have a project that uses GNS via vcpkg (latest version) and CMake (4.0.1). It builds successfully on Linux, but the following initialization error occurs when I run the binary:...
Somehow, this bug causes problems with listen sockets on Windows 11 platform. After some number of client connections being abruptly terminated (e.g. client has crashed), the host just stops to...
Fixed an issue where setting USE_STEAMWEBRTC in cmake doesn't actually use the WebRTC backend, but instead uses the native ICE client. This is what led to issue #247 occurring even...
https://github.com/ValveSoftware/GameNetworkingSockets/blob/725e273c7442bac7a8bc903c0b210b1c15c34d92/src/tier1/utlmemory.cpp#L21-L21 fix the issue need to ensure that the multiplication is performed using a larger type (e.g., `size_t`) to prevent overflow. This can be achieved by explicitly casting one of...
Saw a commit about disabling `IP_RECVTOS` support on macOS (ref: https://github.com/ValveSoftware/GameNetworkingSockets/commit/1736cfa48b9be6348b008614c8bf571b053341b0), and I thought I’d make a note of some findings from taking a brief look into it. ## Useful...
This changeset implements the following three major things: 1. Introduces the support for ChaCha20-Poly1305 crypto cipher for all supported crypto backend libraries (OpenSSL and Libsodium). Libsodium uses the IETF variant...
This changeset incorporates a few fixes for build errors and warnings found when building GNS via llvm-mingw toolchain: * TraceLoggingProvider: Disable for MinGW builds (MinGW-provided winapi headers differ from original...