Security Advisories =================== The Xmlrpc-c maintainer will normally post security advisories related to xmlrpc-c to the xmlrpc-c-announce mailing list. You can subscribe to this using the web: http://xmlrpc-c.sourceforge.net/lists.php You will also find a list of all known bugs including those with security ramifications, in the release notes on Sourceforge. To see the release notes for a release, go to the file download page and click on the release name. The list is current only for the most current release -- i.e. we stop adding to the list for release N after we release N+1. XML-RPC Security ================ There are some security issues inherent in XML-RPC: 1) XML-RPC messages are not encrypted at the XML-RPC level. This means that unless you encrypt them at some lower level, someone with sufficient access to the network can see them with standard packet-sniffing and network administration tools. This is especially dangerous because XML-RPC is a stateless protocol. If you include reusable authentication tokens in an XML-RPC call, they can probably be sniffed and used by attackers. You can solve this problem by using SSL under HTTP. This is possible with Xmlrpc-c, but it's nontrivial to set up and the Xmlrpc-c documentation doesn't tell you how. 2) There are no permission restrictions and no authentication built into Xmlrpc-c by default -- any client can call any method on any visible server and neither can know for sure to whom it is talking. If you need permission and authentication, you either have to put it above the XML-RPC layer or below. For a server, above means in the method code you supply and register with the Xmlrpc-c server facilities; below means something like a firewall that lets clients only from a certain IP address connect to your server. 3) XML-RPC is a complex protocol based on complex data structures. Layers and layers of potentially buggy code gets run between the time network data is received, and the time it is understood; and conversely between the time data is conceived and the time it gets sent.