GPU VulnDB

Database/AI/ML frameworks & serving

Hugging Face smolagents: unauthenticated pickle deserialization in the remote Python executor gives RCE

CVSS 10.0CVE-2025-14931AI/ML frameworks & servingcurated

Impact

The remote Python executor path in smolagents unpickles data it receives without validating it, so anyone who can reach the executor endpoint runs arbitrary code as the service account - no credentials needed. On a GPU fleet this is the agent sandbox itself: the executor normally sits next to the model endpoints and holds the tokens and mounts the agent needs, so code execution there inherits inference API keys, object-store credentials and whatever the pod can reach on the cluster network. ZDI scored it 10.0 because the attacker needs nothing but network reach. If the executor pod runs with GPU device access, the attacker also lands on a node that other tenants' work may share.

Who can reach it

Anyone who can open a network connection to the smolagents remote Python executor service. No authentication required, no user interaction.

What to do

Upgrade smolagents to a version containing the fix - the ZDI advisory does not name a fixed release, so check the upstream project before scheduling. Until then, do not expose the remote executor beyond localhost or a tightly scoped NetworkPolicy, and treat it as an untrusted workload: no shared service-account tokens, no cluster-wide secrets mounted. Rollout is a pod/daemon restart of the agent service; no node drain or reboot.

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.