Cloudanix VulnDB

CVE-2024-27758

High · 8.4

CVSS

8.4

EPSS

0.5%

Published

Mar 12, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in a remote procedure call library lets attackers run their own programs on servers if certain features are left open to outside connections.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Library
Class
Deserialization
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Deserialization flaw allows remote code execution when a server method invokes __array__ on a client-supplied netref, enabling arbitrary code via a crafted class.

Why it matters to the business

Attackers can gain full control of systems running vulnerable RPyC servers, risking data theft, service disruption, and lateral movement; moderate urgency due to absence from KEV and stable low EPSS.

How an attack unfolds

An attacker connects to an RPyC server exposing a method that accesses __array__ on netrefs, supplies a malicious class instance, and triggers code execution during attribute handling.

How to fix it

Upgrade tomerfiliba-org/rpyc to the commit 0194cbdf6992ab5eaaea973c596c1efa4e33193f or later (equivalent to version 6.0.0).

How to confirm the fix worked

Verify rpyc package version or commit hash matches the fixed revision; test exposed methods with benign netrefs to confirm no unexpected attribute access occurs.

Typical attack path

  1. Establish connection to exposed RPyC server
  2. Send crafted netref object referencing malicious class
  3. Invoke server method that calls __array__ on the netref
  4. Execute arbitrary code on the server

How to detect it

Review RPyC server logs for unexpected client netref objects or repeated __array__ attribute accesses; correlate with process execution anomalies post-connection.

What your security team should do

  • Immediately update rpyc to the fixed commit across all deployments
  • Audit and restrict methods exposed by RPyC servers
  • Monitor for unusual client connections and netref handling
  • Consider network segmentation for RPyC services

The record

In RPyC before 6.0.0, when a server exposes a method that calls the attribute named __array__ for a client-provided netref (e.g., np.array(client_netref)), a remote attacker can craft a class that results in remote code execution.

Affected packages

Ecosystem Package Introduced Fixed
PyPI rpyc 0 6.0.0
PyPI rpyc 4.0.0 6.0.0
Debian:12 rpyc 0 No fix
Debian:13 rpyc 0 No fix
SUSE:Package Hub 15 SP5 python-rpyc 0 4.1.5-bp155.3.3.1
SUSE:Package Hub 15 SP5 python-rpyc-test 0 4.1.5-bp155.3.3.1
Ubuntu:18.04:LTS rpyc 0 No fix
Ubuntu:22.04:LTS rpyc 0 No fix
Ubuntu:24.04:LTS rpyc 0 No fix
Ubuntu:24.10 rpyc 0 No fix
Ubuntu:25.04 rpyc 0 No fix
Ubuntu:25.10 rpyc 0 No fix
Ubuntu:Pro:18.04:LTS rpyc 0 No fix
openSUSE:Leap 15.5 python-rpyc 0 4.1.5-bp155.3.3.1
openSUSE:Leap 15.5 python-rpyc-test 0 4.1.5-bp155.3.3.1
pypi rpyc 4.0.0 No fix

Related vulnerabilities