Freie Software und ein erfreuliches Beispiel…

…dafür, wie schnell man sich um Fehler und mögliche Sicherheitsprobleme kümmert, stellt der Mac OS X-Multi-Protokoll-Messenger Adium dar. Vor kurzem fiel mir beim Löschen eines Kontakts von der Kontaktliste auf, dass der Screen-Name des Kontakts im anschliessenden Bestätigungsdialog als Format-String interpretiert wird – mit allen unguten Folgen, die das hat.

Ich meldete dies gleich in #adium-devl, und war positiv überrascht, wie schnell man sich des Problems annahm.

Wed, 07 Oct 2008
[22:02:44] _Kugelfisch_
Hi folk. I just discovered a possible security problem – when deleting an user from my contact list, its name seems to get parsed as a format string in a *printf()-family call. This can cause Adium to crash and possibly allows the execution of arbitrary code. I’m using Adium 1.3.1 with a localized (german) interface.
[22:05:37] hal2k
_kugelfisch_: do you have the file where that happens?
(the name of it)
or did you just have issues with a name that contains a %
[22:06:25] _Kugelfisch_
Just rename any Buddy to `%x%x` and have a look at the confirmation dialog box when trying to remove him from your contact list.
[22:07:25] hal2k
ok, I’ll look into it
[--SNIP--]
[22:16:56] CIA-17
am * r25322 /trunk/Source/AIContactListEditorPlugin.m:
Fixed an issue where printf-style escapes caused troubles in an alert when deleting the contact. Reported by _Kugelfisch_ in #adium-devl.
http://trac.adiumx.com/changeset/25322
[22:17:02] hal2k
_kugelfisch_: there you go
thanks for the report

Fazit: Nach kaum 15 Minuten war der Fehler im Subversion-Trunk des Projekts behoben, mit der nächsten Version wird das auch für die User der Fall sein. Bis dahin lässt sich das Problem umgehen, indem man keine Kontakte, deren Screennamen Format-String-Tokens enthalten, löscht – oder diese vorher umbenennt.

Um einen ähnlichen, aber weitaus gefährlicheren Fehler in ihrem proprietären Client zu beheben, hat ICQ Inc. im Frühjahr knapp 2 Monate gebraucht. Und das, obwohl die Ausnutzungsmöglichkeiten bekannt und die Schwachstelle aktiv ausgenutzt wurde – wenn auch nur, um den Client abstürzen zu lassen.

Update, 10.10.08: Die soeben veröffentlichte Version 1.3.2 behebt das Problem.

Eine Antwort zu „Freie Software und ein erfreuliches Beispiel…“

  1. 8bitNerd sagt:

    Alle Achtung, dass nenne ich mal spitzen Support.

Eine Antwort schreiben