neunzehn83.de

Ein Mann, ein Blog, kein Plan.

Spamassassin: Jahr 2010 Problem auf Debian Lenny?

Heise hat es direkt an Neujahr berichtet: Spamassassin hat offenbar ein Jahr-2010-Bug. So werden alle Mails mit Datum 2010 mit dem FH_DATE_PAST_20XX-Flag versehen.

Spam-E-Mails haben oft ein Datum weit in der Zukunft, damit Sie im Mail-Client immer ganz oben erscheinen (clever!). Spamassassin versucht dem mit dieser Regel entgegen zu wirken. Leider wurde die Jahreszahl 2010 fest einprogrammiert (clever?), und nun offenbar von der Realität eingeholt :)

Da dieses Flag eine hohe Gewichtung hat, landen jetzt also auch normale E-Mails oft fälschlicherweise im Spam-Ordner (false positive). Das Problem betrifft nicht nur den Spamfilter von  GMX und 1&1 sondern im Prinzip jede Spamassassin-Installation.

Für Debian Lenny gab es für das Spamassassin-Paket noch am selben Tag einen bugfix (Spamassassin 3.2.5-2+lenny1.1~volatile1 aus dem Debian Volatile-Repo). Mittlerweile gibt es auch ein offizielles Regel-Update, was die Installation des Volatile-Bugfixes überflüssig macht. Ein einfaches sa-update reicht aus, um die Regeln auf den neusten Stand zu bekommen und den Jahr-2010-Bug zu eliminieren.

Wie finden wir nun heraus, ob der eigene Debian Lenny/Etch-Server von diesem Bug betroffen ist?

SA-Regeln liegen im Ordner /usr/share/spamassassin/, Regel-Updates im Ordner /var/lib/spamassassin/<sa-version>/updates_spamassassin_org

Die Dateien im Update-Ordner überschreiben die Standard-Regeln. Die betroffene Datei heißt 72_active.cf. Diese öffnen wir und suchen nach der FH_DATE_PAST_20XX-Regel:

sudo vi /var/lib/spamassassin/<sa-version>/updates_spamassassin_org/72_active.cf
  ##{ FH_DATE_PAST_20XX
  header   FH_DATE_PAST_20XX      Date =~ /20[1-9][0-9]/ [if-unset: 2006]
  describe FH_DATE_PAST_20XX      The date is grossly in the future.
  ##} FH_DATE_PAST_20XX

Wichtig ist der fett markierte Regex. Dieser trifft auch auch das Datum 2010 zu. Höchste Zeit für ein Update:

sudo sa-update

Wir öffnen die Datei erneut:

sudo vi /var/lib/spamassassin/<sa-version>/updates_spamassassin_org/72_active.cf
  ##{ FH_DATE_PAST_20XX
  header   FH_DATE_PAST_20XX      Date =~ /20[2-9][0-9]/ [if-unset: 2006]
  describe FH_DATE_PAST_20XX      The date is grossly in the future.
  ##} FH_DATE_PAST_20XX

Aus [1-9] wurde [2-9].  Spamassassin-Neustart:

sudo /etc/init.d/spamassassin restart

Problem gelöst! Zumindest bis zum Jahr 2020...

Dass damit das Problem nur aufgeschoben wird, ist aber bekannt. Die Regel soll längerfristig sowieso komplett abgeschafft werden.

Spamassassin aktualisiert sich übrigens unter Lenny i.d.R. automatisch via Cronjob (/etc/cron.daily/spamassassin). Hier muss man also nichts weiter tun. Ansonsten beseitigt ein manuelles sa-update diesen Bug ganz sicher, und bringt für mindestens 10 Jahre Ruhe :)

Geschrieben am Montag, 04. Januar 2010 und abgelegt unter Allgemein.