Bug 1309686 - jboss: java.rmi.server.UnicastRemoteObject deserialization opens RMI listening socket
Summary: jboss: java.rmi.server.UnicastRemoteObject deserialization opens RMI listenin...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1283513 1309688
TreeView+ depends on / blocked
 
Reported: 2016-02-18 13:38 UTC by Adam Mariš
Modified: 2021-10-21 00:50 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-10-21 00:50:03 UTC


Attachments (Terms of Use)

Description Adam Mariš 2016-02-18 13:38:38 UTC
It was found that by sending an appropriate serialized object, one can cause the target JVM to open a listening socket on a client-specified port, start a thread to process requests, and have limited execution of specific code - which could be used for a DoS.

java.rmi.server.UnicastRemoteObject is a Serializable object whose readObject() methods calls exportObject() which will open a TCP listening socket on the port specified by the 'port' field and listen for RMI requests. Depending on the 'java.rmi.server.hostname' property and environment it may be localhost-only or remotely accessible. If enough requests are sent, it could lead to starvation of local port numbers, file descriptors and threads. If that open socket is not protected from remote access (say by a firewall), an attacker can send RMI invocations to it.

Comment 3 Jason Shepherd 2016-02-23 04:21:37 UTC
We were able to reproduce a starvation of local port numbers, file descriptors and threads, however we could not bind remote objects into the RMI Server created by an exploit of this flaw. Therefore we're treating this issue as a moderate impact, DoS flaw only.


Note You need to log in before you can comment on or make changes to this bug.