08:17 am, 14 Jan 08
upnp/flash vulnerability
Not to reduce their work, but this article on UPnP "hacking" [site's currently not loading very reliably] uses a lot of words to make a small point. So here it is in shorter form:
- Many (most) routers use UPnP for configuration, which uses SOAP over HTTP.
- Despite there being an autodiscovery phase to UPnP that involves non-HTTP packets, you can guess a router's IP anyway and you don't need to do autodiscovery to run commands.
- Flash lets you set arbitrary HTTP headers and POST to arbitrary hosts. This is standard XSRF -- the POSTing could be done with DHTML, so Flash is just needed to set the SOAP header.
- Therefore, malicious Flash can run port-opening commands on your router.
Does UPnP have other advantages that I should use, instead of explicitly opening a port? i.e. only open a report when it's needed, otherwise it closes it? I don't know enough about it, honestly...
(Apple's newer AirPort base stations use an alternate protocol that's (a) vastly simpler - just a UDP packet - and (b) immune to this since it's nothing like HTTP. Thanks to Stuart "Bonjour" Cheshire.)
UPnP hacking - Airport & Bonjour
Having read all of this I was wondering: how about Mac's Airport base stations and Bonjour. Are they vulnerable to these kinds of exploits too?Thx for any suggestions and comments!
Re: UPnP hacking - Airport & Bonjour
Airports use NAT-PMP, which works over UDP. I really hope (and am pretty sure) even Flash doesn't allow arbitrary UDP packets.Re: UPnP hacking - Airport & Bonjour
I believe that flash player does send UDP packets for it's magic Proxy Auto-Discovery stuff. I don't think you can control the payload but I believe you can configure a different target udp port.I think much worse than sending UDP packets is the fact that flash can touch your file system...