Listserv and Majordomo Mail Loop Explained

First, I must point out that neither me nor my site are responsible for this! I am a "victim" here, just like you are. I've simply taken some time to investigate the problem, and have come up with a theory as to the cause, and a (hopefully) permanent solution for Majordomo versions 1.93 and 1.94

The Cause

The source of the problem seems to be the following: It appears that 'listinfo@MULTIMAC.vmei.acad.bg' is in fact a mailing list consisting of majordomo and listserv request addresses for a large number of sites, including my site and yours. Someone sent a message to that site, which was then distributed to all the majordomo and listserv request addresses. Those majordomo and listserv sites then sent back an error message to 'listserver@MULTIMAC.vmei.acad.bg', which appears to bounce messages to 'listinfo@MULTIMAC.vmei.acad.bg', which then distributes the message back to the majordomo and listserv sites.

It's possible that someone at acad.bg was merely trying to use this to make yet another "list of lists", but it might be a deliberate prank or attack. If it wasn't a prank or attack, maybe the originator didn't anticipate that all the responses would return to 'listinfo@MULTIMAC.vmei.acad.bg', which of course reflects the responses back out to the list and causes a massive mail loop.

And, yes, I have used the same mechanism to advise you of this page. Unfortunately, I see no other way of spreading this information quickly. Flame me if you like. I am aware that there are mailing lists set up for exchanging information of this type, but I suspect many (maybe a majority?) of list admins are not on these lists. Furthermore, I did not send the notification out multiple times! It's simply caught up in the loop with everything else, so it LOOKS like I'm still sending it.

Additional Information

The problem started at my site with the following being sent to majordomo@armchair.mb.ca (this is extracted from my site's Majordomo logs):

Feb 21 14:31:02 onramp majordomo[21379] {listserver@MULTIMAC.vmei.acad.bg} help
Feb 21 15:18:23 onramp majordomo[22971] {listserver@MULTIMAC.vmei.acad.bg} help
Feb 21 15:18:24 onramp majordomo[22971] {listserver@MULTIMAC.vmei.acad.bg} info
Feb 21 15:18:24 onramp majordomo[22971] {listserver@MULTIMAC.vmei.acad.bg} index List_Nam
e
Feb 21 15:18:24 onramp majordomo[22971] {listserver@MULTIMAC.vmei.acad.bg} get  File_Name
Feb 21 15:18:24 onramp majordomo[22971] {listserver@MULTIMAC.vmei.acad.bg} help

Note: all times are CST.

As noted above, messages to 'listserver@MULTIMAC.vmei.acad.bg' apparently get forwarded to 'listinfo@MULTIMAC.vmei.acad.bg', thus causing the loop to start.

What I've Done

  • I have sent a message to root@vmei.acad.bg and postmaster@vmei.acad.bg explaining the situation, so hopefully that will take care of it.

  • I have modified Majordomo, as described below. This modification is intended to prevent majordomo and listserv addresses from "ping-ponging" each other, since it tosses out any message from an address containing 'majordom' or 'listserv'. Majordomo 1.94 already contains this facility in general, but needs to be modified to prevent bouncing back to an address containing 'listserver'.

    A Permanent Solution

    I've made the following change to the 'majordomo' PERL script to cause Majordomo to ignore administrative requests from addresses containing 'majordom' or 'listserv'. NOTE: This is for Majordomo version 1.93. Instructions for 1.94 follow below.

    Majordomo 1.93 mods to 'majordomo' script

    Modify the following lines:

    ...so that they include:

    Changes for Majordomo 1.94

    This was contributed by Bryan Fullerton bryanf@samurai.com of Samurai Consulting.

    There are two lines, nearly the same, in majordomo and majordomo.cf. They are as follows:

    majordomo:

    $majordomo_dont_reply = $majordomo_dont_reply
    	|| '(mailer-daemon|uucp|listserv|majordomo)\@';
    

    majordomo.cf:

    $majordomo_dont_reply = '(mailer-daemon|uucp|listserv|majordomo)\@';
    

    Basically, I just added the string 'listserver' to both, so it'd abort on the e-mail coming directly from the MULTIMAC address as well as from the responding listserv's.

    Contact Information

    My name is Dave Voorhis, and I can be reached at dave@armchair.mb.ca. Please do not hesitate to contact me if you have further information, corrections, etc.