Skip to main content

Grid EUVDEUVD-2026-16957

| CVE-2026-4851 CRITICAL
Deserialization of Untrusted Data (CWE-502)
2026-03-29 CPANSec
9.8
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
EUVD ID Assigned
Mar 29, 2026 - 01:00 euvd
EUVD-2026-16957
Analysis Generated
Mar 29, 2026 - 01:00 vuln.today
CVE Published
Mar 29, 2026 - 00:22 nvd
CRITICAL 9.8

DescriptionCVE.org

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.

AnalysisAI

Arbitrary Perl code execution in GRID::Machine through version 0.127 occurs when clients connect to remote hosts via RPC over SSH, as the client-side deserializer uses eval() on untrusted data from the remote peer without validation. A compromised or malicious remote host can inject arbitrary Perl code into Dumper-formatted responses that executes silently on the client during RPC calls, while maintaining correct return values to avoid detection. The vulnerability is design-inherent but the trust requirement for remote hosts is not documented, creating a security expectation mismatch for users.

Technical ContextAI

GRID::Machine is a Perl library that implements Remote Procedure Calls (RPC) over SSH, enabling clients to execute code on remote hosts. The root cause is unsafe deserialization in the read_operation() function within lib/GRID/Machine/Message.pm (CWE-502: Deserialization of Untrusted Data). The vulnerable code uses Perl's eval() function to deserialize responses from the remote side without sanitization or signature verification: the raw protocol bytes are prefixed with '$VAR1' and evaluated as arbitrary Perl code via eval "no strict; $arg". An attacker controlling a remote host can craft Dumper-formatted responses containing executable Perl statements (e.g., do { system("..."); };) that execute in the client's process context. The RPC architecture assumes the remote host is trusted, but this trust assumption is neither enforced nor clearly documented in the distribution, creating a critical security boundary violation when users connect to untrusted or compromised remote systems.

RemediationAI

Upgrade GRID::Machine to a version greater than 0.127 once a patched release is available from the maintainer (Casiano Rodriguez-Leon). Until a patch is released, do not use GRID::Machine to execute RPC calls to remote hosts outside your complete control; restrict GRID::Machine RPC connections to fully trusted, internally-managed systems only. If patching is delayed, implement network segmentation to ensure GRID::Machine clients can only reach pre-approved remote hosts and apply SSH host key verification and mutual TLS authentication at the transport layer to reduce the attack surface. Monitor the OSS-Security mailing list (https://www.openwall.com/lists/oss-security/2026/03/26/6) and CPAN for vendor updates. Additionally, request or contribute documentation updates to the GRID::Machine distribution clearly stating the requirement that all remote hosts must be fully trusted, and consider implementing optional message signing or HMAC-based authentication in future versions to enable use with partially-trusted peers.

Share

EUVD-2026-16957 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy