[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bugtraq
Subject:    Re: portmapper dangers
From:       Casper Dik <casper () holland ! Sun ! COM>
Date:       1996-06-30 22:50:03
[Download RAW message or body]

>The dangers, according to the code changes I saw, are that the
>portmapper will accept set and unset requests from other than the local
>machine, and that it will accept set and unset requests for reserved
>ports from clients not themselves running on reserved ports.  I'm sure
>most readers of bugtraq will immediately see the dangers inherent in
>these lacks of checking.  (The code I saw counts port 2049, the default
>NFS port, as reserved even though it is not in the reserved port space.
>I suppose one could argue whether this should be done.)

Is this just the case of faking the from IP address?  I'm not
sure if there's a way around that; UDP is easily faked. Standard
portmap code has had checks for some time to disable unsets from
remote hosts and unsets for reserved ports from non reserved ports
but older versions did suffer from the problem.

There's no way, it seems to me, that portmap can protect itself from spoofed
udp packets. It can't discern locally and remotely send udp packets
without some external help (from kernel or external packet filters)

Rpcbind, the TI-RPC (transport independent)  version of portmap,
should not be vulnerable as it will only allow unsets from the
corresponding service owner.  (Which can be gotten at when using the
local transport with help of the kernel, i.e., user processes can't
fake them, you can't fake local transport calls remotely)

Old code which uses old portmap calls will have its services registered
as from an "unknown" source and the old unsafe semantics apply.

(Try rpcinfo <sunos4host> vs rpcinfo <solarishost>" for good measure,
note that you need to be on a host with rpcbind for "rpcinfo" to work
like this)

Casper

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic