The flaw allows a malicious server to impersonate the vulnerable domain to any XMPP domain whose domain name includes the attacker’s domain as a suffix.
For example, ‘bber.example’ would be able to connect to ‘jabber.example’ and successfully impersonate any vulnerable server on the network.
The default configuration is affected. Servers with mod_dialback disabled are not affected.
Servers with s2s_secure_auth enabled will reject incoming impersonation attempts (that is, servers attempting to impersonate other domains will be rejected), but may still be impersonated to other servers on the network.
Disable mod_dialback by adding “dialback” to your modules_disabled list in the global section of your config file, and restart Prosody:
modules_disabled = { “dialback” }
Note that disabling dialback will affect interoperability with servers that do not have trusted TLS certificates.
All users should upgrade to 0.9.10, or check their OS distribution for security updates. Users of development branches (0.10, trunk) should upgrade to the latest nightly builds.
The flaw was discovered and responsibly disclosed to us by Thijs Alkemade.