CVE-2026-4851

GRID::Machine versions through 0.127 for Perl allows arbitrary code execution via unsafe deserialization

Published Mar 29, 2026 CVSS 3.1 · 9.8 Critical EPSS < 1% KEV · Not listed
Description
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.

Remediation

Vendor Workaround

There is no fix available. If used, only connect to trusted remote hosts.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Casiano grid\
CPEs cpe:2.3:a:casiano:grid\:\:machine:*:*:*:*:*:perl:*:*
Vendors & Products Casiano grid\
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Type Values Removed Values Added
First Time appeared Casiano
Casiano grid::machine
Vendors & Products Casiano
Casiano grid::machine
Type Values Removed Values Added
Description 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.
Title GRID::Machine versions through 0.127 for Perl allows arbitrary code execution via unsafe deserialization
Weaknesses CWE-502
CWE-95
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
CPANSec
Published
Updated
Apr 1, 2026, 2:17 PM
Reserved
Mar 25, 2026, 2:56 PM
Status
Modified
Published
Mar 29, 2026, 1:15 AM
Modified
Jun 17, 2026, 10:57 AM