SpamAssassin's Y2K10 -- Whoops, We Did It Again

by Juliet Kemp

Mail server admins are quietly living out a past that never happened: A rule in SpamAssassin intended to stop spam dated outrageously in the future is snaring anything with a 2010 date.

If you're running SpamAssassin, you should make sure that you update it forthwith, to avoid a 2010 bug problem. Specifically, the rule


(which is intended to look for dates grossly in the future) matches on any year between 2010 and 2099. Obviously 2010 is a ridiculous far-future date. (Where is my flying car?) However, since we have, bizarrely, made it this far into the future, this rule will catch perfectly legitimately dated mail.

It's been fixed in CVS for the past six months (by changing it to catch post-2020 mail, so maybe we'll get a rerun in another decade), but if you're relying on package updates from a distribution rather than rolling-your-own, note that not all distros included this fix as of New Year's Day.

To fix, you can run sa-update or edit your local.cf file, or edit /usr/share/spamassassin/72_active.cf directly, this being where that rule lives. From the look of the changelog, Debian stable doesn't yet include the fix, but sa-update, if configured, should still work. Ubuntu includes the fix in karmic-updates

You may also wish to check your spam folder for anything legit. While you're there, if like me, you discover more than 16,000 messages, you may wish to delete all of them. In mutt you can do this by hitting Shift-D, then typing .*.

Sadly, as yet I cannot advise on how to avoid the more manual 2010 bug of continually putting 200910 every time you have to write down the date.

Juliet Kemp has been messing around with Linux systems, for financial reward and otherwise, for about a decade. She is also the author of "Linux System Administration Recipes: A Problem-Solution Approach" (Apress, 2009).

Follow ServerWatch on Twitter

This article was originally published on Monday Jan 4th 2010
Mobile Site | Full Site