Prosody did not verify that the virtual host associated with a user session remained the same across stream restarts. In practice this means that a user may authenticate to XMPP host A and migrate their authenticated session to XMPP host B of the same Prosody instance. Note that successful authentication to host A is required to initiate the attack. This includes SASL ANONYMOUS. Overriding the authenticated username is not possible via this exploit, and this limits impersonation to usernames on host B that the attacker also has access to on host A. In the case of ANONYMOUS authentication, the username is random and enforced by the server. If a user has the account user1, they may impersonate user1, with security policies of host B applied. External References: - https://prosody.im/security/advisory_20180531/ - https://blog.prosody.im/prosody-0-10-2-security-release/ - https://issues.prosody.im/1147
This has been fixed in: - https://koji.fedoraproject.org/koji/buildinfo?buildID=1087840 - https://bodhi.fedoraproject.org/updates/FEDORA-2018-18f8c6ce79 - https://bodhi.fedoraproject.org/updates/FEDORA-2018-455803056d - https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-7155fb2e51 - https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-1ceee884b4
External References: https://prosody.im/security/advisory_20180531/ https://blog.prosody.im/prosody-0-10-2-security-release/ Upstream issue: https://issues.prosody.im/1147