Security Advisories (1)
CVE-2026-4851 (2026-03-29)

GRID::Machine versions through 0.127 for Perl allows arbitrary code execution via unsafe deserialization. GRID::Machine provides Remote Procedure Calls (RPC) over SSH for Perl. The client connects to remote hosts to execute code on them. A compromised or malicious remote host can execute arbitrary code back on the client through unsafe deserialization in the RPC protocol. read_operation() in lib/GRID/Machine/Message.pm deserialises values from the remote side using eval() $arg .= '$VAR1'; my $val = eval "no strict; $arg"; # line 40-41 $arg is raw bytes from the protocol pipe. A compromised remote host can embed arbitrary perl in the Dumper-formatted response: $VAR1 = do { system("..."); }; This executes on the client silently on every RPC call, as the return values remain correct. This functionality is by design but the trust requirement for the remote host is not documented in the distribution.

Documentation

Module loaded when bootstraping the remote Perl server
Primitives for sending and receiving
The server that runs on the other side of the SSH link
A brief and basic introduction to Parallel Distributed Computing in Perl
A simple methodology to debug remote Perl programs with GRID::Machine
make tests on a remote machine

Modules

Remote Procedure Calls over a SSH link
Parallel Computing via SSH
Supply object methods for Remote I/O handles
Home Made "Make accessors" for a Class
Forking via SSH
Remote side of the Remote Input-Output
The object describing the result of a GRID::Machine RPC

Provides

in lib/GRID/Machine/Message.pm
in lib/GRID/Machine/REMOTE.pm
in lib/GRID/Machine/Group.pm
in lib/GRID/Machine/Process.pm
in lib/GRID/Machine/REMOTE.pm

Examples