From upstream advisory at $URL:
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
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
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
A patch release for all currently maintained versions of Atheme IRC
Services was released on the same day, March 20th.
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.
Both stable by jd.
@security, the advisory says privilege escalation or crash.
Can you check and/or vote please?
Thanks, everyone. GLSA Vote: yes.
YES too, request filed.
This issue was resolved and addressed in
GLSA 201209-09 at http://security.gentoo.org/glsa/glsa-201209-09.xml
by GLSA coordinator Sean Amoss (ackle).
The myuser_delete function in libathemecore/account.c in Atheme 5.x before
5.2.7, 6.x before 6.0.10, and 7.x before 7.0.0-beta2 does not properly clean
up CertFP entries when a user is deleted, which allows remote attackers to
access a different user account or cause a denial of service (daemon crash)
via a login as a deleted user.