atheme.org Security Advisory ASA-2012-03-01 Original release: March 20, 2012. Last update: March 20, 2012. Copyright (c) 2012 atheme.org and it's contributors. All rights reserved. Distribution of this document in full, or in part is allowed, provided that it remains in unmodified form and the above copyright notice and this permission notice remain unchanged. Topic: Improper cleanup of CertFP entries may result in undefined behaviour (privilege escalation or crash). Versions affected: 5.2.0 - 5.2.6, 6.0.0 - 6.0.9, 7.0.0-alpha1 - 7.0.0-beta1 CVSSv2 vector: AV:N/AC:M/Au:M/C:C/I:P/A:C/E:F/RL:O/RC:C CVSSv2 base score: 7.5 Access vector: network Access complexity: medium Authentication requirement: multiple instances Confidentiality impact: complete Integrity impact: partial Availability impact: complete CVSSv2 temporal score: 6.2 Exploitability: functional exploit exists Remediation level: official fix Report confidence: confirmed Summary: Improper cleanup of CertFP entries may result in undefined behaviour for an IRC system using Atheme IRC Services as an IRC services implementation. If an account is expired or dropped, CertFP entries will linger, occasionally pointing to an unallocated object (which triggers an exceptional condition) or another account object. Thusly, if an attacker creates an account and then registers their CertFP fingerprint with that account and deletes it, they may be able to gain access to another account in the future without that account being aware of it. Such a condition can also cause inconsistencies in the object store when marshalled to disk, resulting in an exceptional condition on demarshalling, such as when services is restarted. This vulnerability was introduced when CertFP support was added to Atheme IRC Services. A denial of service against an IRC network's services daemon can have devastating effects as a typical IRC network is dependent on the availability of services for directory, nickname and channel ACL enforcement. This vulnerability was discovered by "Aaron M. D. Jones" and was reported to us by him. The bug report is at: http://jira.atheme.org/browse/SRV-166 Upgrading to the latest release for the branch you are using is strongly encouraged. A patch release for all currently maintained versions of Atheme IRC Services was released on the same day, March 20th. Mitigation: If your current version of Atheme is maintained, patch releases are available from the Atheme website at http://www.atheme.net/. These versions are Atheme 5.2.7, Atheme 6.0.10 and Atheme 7.0.0-beta2. The SHA256 checksums for these versions are: atheme-services-5.2.7.tar.bz2: 8451472fd23b9bbc6dd9c989b4d68c4d50ba1e827b621776533781e9fbfa8319 atheme-services-6.0.10.tar.bz2: 9a2b3954316d29ae0cd546edc9c2b6169bae448f982dbd76ca3efd84c271d0c8 atheme-services-7.0.0-beta2.tar.bz2: d8a52d96d4466f3e5a1ef28ddd562d38575b768b63ad17ced470ec2a1f0e17f1 This bug does not exist in any unmaintained version of Atheme as far as we are aware. Details: The account destructor did not call mycertfp_delete() on the CertFP entries associated with an account object. As a result, the certfp entries linger. To exploit, register an account with your CertFP entry and then delete it. Then reconnect to the network after a couple of new accounts are registered. You may be authenticated to one of those new accounts, or services will crash. Contact: For further information about this security advisory, please contact the Atheme developers at irc.atheme.org #atheme. For more information about atheme.org, please visit the following resources: - IRC: irc.atheme.org #atheme-project - Web: http://www.atheme.org/