JRMPClient is a Java Remote Method Protocol gadget used in deserialisation attacks to make an outbound RMI connection to an attacker-controlled host. It is typically used to confirm that a target will process a malicious object and initiate remote communication during deserialisation.
What JRMPClient Means in a Deserialisation Attack
JRMPClient is not a benign helper class in this context, it is an exploitation gadget. It is used to trigger a Java Remote Method Protocol outbound connection during deserialisation, which helps confirm that the target is processing attacker-controlled object data and is willing to make network calls as a result.
That makes JRMPClient important because deserialisation is often assumed to be a local parsing problem, but the gadget turns it into a remote interaction problem. If a target accepts the object graph and follows the gadget chain, the application may leak reachability, initiate callbacks, or become part of a broader exploitation path.
Why JRMPClient Is Dangerous
The danger lies in what the gadget proves about the target, not in the class name itself. If the target can be induced to connect back to an attacker-controlled host, the attacker has evidence that deserialisation is occurring and that outbound network behaviour is possible during object reconstruction.
In practice, that can support follow-on exploitation, including confirmation of vulnerable entry points, environment fingerprinting, and chaining into a more serious payload delivery path. The same pattern can also bypass assumptions that “it is only data” because the deserialiser is effectively executing logic as part of object handling.
Defenders should treat any gadget that causes server-initiated remote communication during deserialisation as a high-value test indicator. The key security issue is not merely code structure, but the trust boundary collapse that occurs when untrusted bytes can influence object behaviour and network reachability.
How Organisations Check Exposure
Exposure review starts with inventorying Java applications, libraries, exposed endpoints, and any workflows that accept serialised objects from untrusted sources. The relevant question is whether the application processes attacker-controlled object data at all, not whether a specific class has already been observed.
Teams should also check whether the service can make outbound RMI or other unexpected egress connections, because NIST Cybersecurity Framework 2.0 emphasises identifying assets and communication paths that create security exposure. Internet-facing services, reverse-proxy paths, and internal services with broad egress are especially important to review.
NIST SP 800-53 Rev 5 Security and Privacy Controls is useful here because exposure assessment depends on access control, system integrity, and audit visibility around deserialisation endpoints and outbound connections. A well-run review should tell you where serialisation occurs, who can reach it, and what network behaviour is possible if parsing is abused.
Remediation and Detection After Use of the Gadget
Remediation usually means removing unsafe deserialisation paths, constraining what object types are accepted, and reducing the application’s ability to make arbitrary outbound connections. If patching or code change cannot happen immediately, compensating controls such as egress filtering, segmentation, and protocol restrictions can reduce the chance that a gadget chain will succeed.
Detection should look for unexpected outbound JRMP, RMI, or other callback-like traffic from application servers, especially when it originates during parsing or request handling. Correlate application logs, network telemetry, and server activity to determine whether the deserialisation path was only probed or whether further compromise may have occurred.
If a target may have processed a malicious object, the post-event review should include session, credential, and service-account assessment where the application context suggests additional abuse beyond the gadget trigger. That matters less because of JRMPClient itself and more because a successful deserialisation chain often indicates a broader trust failure in the application.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
MITRE ATT&CK addresses the attack and risk surface, while NIST CSF 2.0, NIST SP 800-53 Rev 5, CIS Controls v8 and OWASP ASVS set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST CSF 2.0 | ID.AM-01 — Physical devices and systems within the organisation are inventoried | JRMPClient exposure depends on knowing which Java services can deserialize untrusted data. |
| Recommendation — Inventory Java services and deserialisation entry points so you can scope exposure to gadgets like JRMPClient. | ||
| NIST SP 800-53 Rev 5 | SI-10 — Input Validation | Unsafe object deserialisation is an input-handling failure that enables gadget execution chains. |
| Recommendation — Apply strict input validation and reject untrusted serialised objects that could trigger gadget chains. | ||
| MITRE ATT&CK | T1048 — Exfiltration Over Alternative Protocol | JRMPClient can force outbound protocol use as part of an attacker-controlled callback path. |
| Recommendation — Monitor and block unexpected outbound protocol use that indicates a deserialisation callback or staging path. | ||
| CIS Controls v8 | CIS-13 — Network Monitoring and Defense | Detecting JRMPClient use relies on observing anomalous outbound RMI and related traffic. |
| Recommendation — Alert on unexpected outbound connections from servers to unknown hosts during application request handling. | ||
| OWASP ASVS | V5 — File Handling | Deserialisation attacks exploit unsafe processing of externally supplied data objects. |
| Recommendation — Constrain and validate externally supplied data handling paths so untrusted objects cannot reach deserialisation. | ||
Practitioner Guidance
What to watch for: Treat JRMPClient as a signal that the deserialisation boundary is under active testing. If you see outbound callback attempts from an application that should not initiate them, prioritise the request path, the object source, and the associated egress route.
Governance implication: Ownership should sit with the service team that accepts and parses the data, not with the network team alone. The safe state depends on both code-level deserialisation handling and network-level containment, so remediation needs coordination across application, platform, and detection teams.
Deepen Your Knowledge
Free weekly newsletter
Subscribe to the NHI & AI Identity Journal
The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.
Bonus 33% off our NHI Course when you subscribe.
Reviewed and updated by the NHIMG editorial team on November 3, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org