Safeguard
Vulnerability Analysis•

CVE-2026-4851: Critical Code Execution in Perl GRID::Machine

GRID::Machine for Perl up to 0.127 evaluates data from the remote host, so a malicious remote can run code on the client (CVSS 9.8). No fix is listed.

Safeguard Security Team
3 min read

CVE-2026-4851 is a critical flaw (CVSS 9.8) in the Perl module GRID::Machine, versions through 0.127. The client deserializes replies from the remote host with eval, so a compromised or malicious remote can run arbitrary code on the client. The disclosure lists no fixed version, so limit use to trusted hosts.

What's affected

GRID::Machine for Perl, version 0.127 verified and, per the disclosure, likely all released versions. The disclosure and the record name no fixed version, so check the module's CPAN page for a newer release.

The module provides remote procedure calls over SSH. The flaw is on the client side: code runs on the machine that connects, triggered by the host it connects to.

How to check if you're exposed

Find Perl programs that use the module and which hosts they connect to.

perl -MGRID::Machine -e 'print $GRID::Machine::VERSION, "\n"'
cpan -D GRID::Machine
grep -rl 'GRID::Machine' /path/to/code

Then list every remote host those programs reach. The risk depends on how far you trust each of them.

What to do now

  1. Find scripts and cron jobs that use GRID::Machine.
  2. Stop connecting to hosts you do not fully control, until a fix exists.
  3. Run the clients under accounts with minimal rights, and avoid running them as root or with deployment keys in reach.
  4. Watch the CPAN page and the project for a release that replaces the eval based reading, and plan a move to another RPC method if none comes.

Why it matters

The classes are CWE-502, deserialization of untrusted data, and CWE-95, eval injection. The disclosure points to read_operation in lib/GRID/Machine/Message.pm, which turns bytes from the remote side into Perl values by running them through eval. Anything that can write to that stream can include code, and the client runs it with its own rights.

The disclosure adds that the design is intentional but the need to trust the remote host is not documented. The CVSS vector says no privileges are required, so read the score in context: the attacker must be, or control, the host the client connects to. That still matters for automation that touches many servers, where one compromised host could reach back to a management machine. The record does not mark this CVE as exploited, and it is not on the CISA Known Exploited Vulnerabilities list.

Paste your lockfile or manifest into the free in-browser dependency scan to see whether GRID::Machine is in your tree, including as a transitive dependency. Reachability analysis can then show whether your code calls the affected path, which helps you order the work.

Quick check

Does this affect the servers I connect to?

The described impact is on the client that connects. A compromised server can run code back on that client.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.