Comment 7 for bug 1016505

Revision history for this message
In , vdanen (vdanen-redhat-bugs) wrote :

Thomas Swan reported a service disclosure flaw in xinetd. xinetd allows for services to be configured with the TCPMUX or TCPMUXPLUS service types, which makes those services available on port 1, as per RFC 1078 [1], if the tcpmux-server service is enabled. When the tcpmux-server service is enabled, xinetd would expose _all_ enabled services via the tcpmux port, instead of just the configured service(s). This could allow a remote attacker to bypass firewall restrictions and access services via the tcpmux port.

In order for enabled services handled by xinetd to be exposed via the tcpmux port, the tcpmux-server service must be enabled (by default it is disabled).

The tcpmux-server should only ever expose services with the 'type = TCPMUX' or 'type = TCPMUXPLUS' configuration options set.

To reproduce:

- enable tcpmux-server
- restart xinetd
- telnet localhost 1
- type service name of a running service (e.g. cvspserver)

The service will be launched and respond on the port:

# telnet localhost 1
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
cvspserver

cvs [pserver aborted]: bad auth protocol start:

There is no upstream fix for this as of yet.

[1] http://tools.ietf.org/html/rfc1078