GPU VulnDB

Database/AI/ML frameworks & serving

llama.cpp ggml RPC server: unvalidated tensor op and op_params in deserialize_tensor

CVE-2026-78147AI/ML frameworks & servingcurated

Impact

ggml's rpc-server deserializes tensors straight off the wire from any client that can reach its port, and deserialize_tensor() does not validate the op or op_params fields, so a crafted request drives the GPU backend with attacker-chosen operation state. The record characterises this as unsafe deserialization and does not demonstrate code execution, so the floor is a remote crash of the backend worker with memory-safety risk above that. It is explicitly distinct from CVE-2026-34159, whose fix only added a buffer==nullptr rejection in create_node() and left op/op_params unchecked - so a fleet that took that patch is still exposed. rpc-server is typically deployed to pool GPUs across hosts and listens on the cluster network with no authentication of its own, which means anything that can route to the port can drive the GPU worker directly.

Who can reach it

Network, unauthenticated. Anyone who can reach the ggml rpc-server listening port - which has no authentication layer - can send the crafted tensor. No credentials, no tenant account, no local access needed.

What to do

The record names no fixed release: the upstream issue was closed automatically for inactivity and no patch is referenced. Treat rpc-server as a trusted-network-only component - bind it to loopback or a private interface, and firewall or NetworkPolicy the port so only the coordinating process can reach it, never tenant-reachable networks. Restarting the worker clears a crash but does not remove the bug, so this is mitigate-only until an upstream fix lands.

References

Related entries

All AI/ML frameworks & serving entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.