Cyber Security News

Deserialization Flaw in Ruby Workers That Could Enable Full Compromise

A severe Remote Code Execution (RCE) vulnerability has been identified in RubitMQ job workers, stemming from unsafe JSON deserialization practices.

The issue arises not from memory corruption or complex undefined behavior, but from design-level trust assumptions regarding how data is processed in Ruby background systems.

Security researcher NullSecurityX has demonstrated that this flaw allows attackers to bridge the gap between data and code, turning harmless JSON inputs into executable commands that can compromise the entire infrastructure.

Technical Analysis of the Flaw

The core of the vulnerability lies in the use of Oj.load for processing job payloads. While developers often view JSON as a safe data-interchange format, the Oj library in Ruby supports object deserialization features that can reconstruct fully functional objects.

When the system encounters specific directives like ^o, it does not just parse data but allocates instances of classes defined in the application.

This behavior becomes critical when the application employs capability-based dynamic dispatch, checking if an object responds to a specific method before executing it.

critical security risk ( Source: Medium)

According to NullSecurityX, in this specific architecture, the system checks for a run_find method capability, assuming that method availability equates to authorization.

CVE IDCVSS ScoreSeverityDescription
CVE-2024-XXXX9.8CriticalUnsafe deserialization in RubitMQ via Oj.load allows remote code execution through object injection.

Attackers can exploit this by crafting a JSON payload that instantiates a Node utility class found within the application code.

This class contains a run_find method designed to execute system commands via Open3.capture3.

Affected Products

ProductAffected ComponentPatch Status
RubitMQJob Worker (JSON Processor)Update Required
Ruby Oj GemDefault Load ConfigurationConfiguration Change Required

By injecting arguments that utilize the Unix find command’s -exec flag, an attacker can force the background worker to execute arbitrary shell commands.

The exploitation path is deterministic and allows the attacker to bypass standard security controls, executing commands with the privileges of the background worker.

This can lead to data exfiltration, service disruption, or further lateral movement within the network.

Follow us on Google News, LinkedIn, and X to Get Instant Updates and Set GBH as a Preferred Source in Google.

Divya

Divya is a Senior Journalist at GBhackers covering Cyber Attacks, Threats, Breaches, Vulnerabilities and other happenings in the cyber world.

Recent Posts

Storm-2603 Hackers Exploit SharePoint and Abuse Cloudflare Tunnel to Hide Remote Access

A December intrusion to Storm-2603, the China-based group Microsoft ties to Warlock ransomware. The attackers…

7 minutes ago

OpenSSH sshole Flaw Allows Hackers to Log Into Password-Disabled Linux Accounts Using 257-Character Passwords

A decade-old authentication bypass in OpenSSH on musl-based Linux lets attackers log into accounts that…

10 minutes ago

New GhostMap Android Vulnerability Can Crash Phones Permanently Without Opening an App or Granting Permissions

Bitdefender researchers have revealed a vulnerability called GhostMap that affects Android devices. This vulnerability can…

20 minutes ago

Microsoft Paint Vulnerability Allows Hackers to Execute Malicious Code Remotely Without User Interaction

Microsoft has announced a vulnerability in Windows Paint that could let unauthenticated attackers execute malicious…

43 minutes ago

ARTEX AI Framework Linked to Bank Breaches and Cloud Attacks Found Exposed Across Hundreds of Servers

An autonomous penetration-testing framework linked to South Korean banking breaches and cloud supply-chain attacks is…

1 hour ago

Shopify Makes IP Allowlisting Mandatory for All Public Apps to Prevent Stolen API Token Abuse

Shopify is making IP allowlisting mandatory for all public apps to limit abuse of stolen…

1 hour ago