All: This is becoming quite the amateur security parade with regular FUD and incorrect facts. I've given a lot of breadcrumbs, as like many of you, we deal with this in other projects, if not our day job. Here's a recap, intentionally not on the 1.8.x thread as that was and is a terrible place for discussion.
Recap: POODLE is a man-in-the-middle attack which requires both ends to talk SSLv3. It is a protocol bug, which means updating to a new version isn't going to help. It is a man-in-the-middle because it requires such a position to trigger a fallback to SSLv3. There are generally 2 ways out for those vulnerable. 1. Disabling SSLv3 at either the server or the client side. 2. Mitigate the downgrade part of the attack with TLS_FALLBACK_SCSV http://googleonlinesecurity.blogspot.com.au/2014/10/this-poodle-bites-exploiting-ssl-30.html This attack isn't easy, and won't affect all java apps. Man in the middles for things like this are most typically discussed as the attacker running javascript in a browser. Take a look at this which discusses how hard this is, ex 1000s of connections under control. http://blog.erratasec.com/2014/10/some-poodle-notes.html#.VEb9voBdWIk jclouds: jclouds already has a man-in-the-middle configuration, which materializes as "untrusted" when people use the property "jclouds.trust-all-certs". Yes, jclouds interferes with TLS here, but seriously.. this is not a configuration meant for those interested in security! jclouds by default *does not* interfere with the default SSL configuration of the JVM in normal course. Therefore, if someone via changing the the default url handler or the default ssl socket factory will impact jclouds. This includes disabling poodle via means including restricting the ciphers. Regardless: Eventhough the attack vector is far fetched from most JVM scenarios, many folks will want to disable SSLv3. What to do: First is to tell them the truth about jclouds. That is that in the current default code, it *inherits* the ssl socket factory configuration, which is the place SSLv3 can be disabled. Second is to ask ourselves whether to support advanced configuration, such as a curated list of fallback. Ex. TLSv1.2, then 1.1. etc. This is a big discussion as it *widens the scope* of jclouds to now actually include TLS config! Doing so will need further updates, for example when TLSv1.3 is out. plus extra testing. I highly recommend exposing http drivers directly and punt to them. jclouds can have the same default it has now, which is to use the inherited SSL socket factory from the JVM. As most have proven we aren't security experts, I recommend we stick to that. In apachehc, netty, etc, allow users to configure objects that are documented in their apis. Basically, I highly recommend we don't dig ourselves a new place of maintenance that very few are experienced enough to review. Finally, we do have things like FGCP and AzureCompute which muck with SSL. We should take this lesson and see if we can support that without having to now be responsible for things like the next POODLE. This has lost more time in idle discussion or fear-thrashing than some providers took to write. We have stake in steering clear of things like this when looking into how to support providers that need to do more with ssl. -A