Thu 06 Oct 2005 05:58:56 AM UTC, original submission:
When configured with "-u nobody -x" and not using -e, outgoing or mail sent though the server could be intercepted by another user.
spamass-milter[17342]: calling /usr/lib/sendmail -bv "<Test@test.com>" 2>&1
spamass-milter[17342]: sendmail output: <test@test.com>... deliverable: mailer esmtp, host test.net., user -unavailable-
spamass-milter[17342]: user: -unavailable-
spamass-milter[17342]: Total of 1 actual recipients
spamass-milter[17342]: remembering -unavailable- for spamc
spamass-milter[17342]: remembering recipient <test@test.com>
spamass-milter[21108]: spamc gets test2
spamd[15262]: connection from localhost.localdomain [127.0.0.1] at port 35697
spamd[15262]: info: setuid to test2 succeeded
spamd[15262]: processing message <di277llv+5d1n@eGroups.com> for test:533.
spamc now uses "test2" user_prefs file that neither the sender nor the rcpt have access to. Third party user "test2" then could configure there user_prefs to resend that mail to him/herself or do a number of tricks one could do in the user_prefs
Using "-i" with the local server IP can prevent mail sent though the server from being process by spamc, but forwarded mail is still at risk.
Sujested soluction, look at the "mailer" field of the sendmail output, in this case, its "esmtp" meaning forward that mail to the next server or send that mail to the server if it was generated locally. Look for the "mailer local" responce to send the user to spamc, anything else, send the -u preference to spamc. Note that the mailmam program will give these results:
sendmail -bv -unavailable-
"|/var/mailman/mail/mailman post test-annoucementandart"... deliverable: mailer prog, user "|/var/mailman/mail/mailman post test-annoucementandart"
spamd[15262]: handle_user: unable to find user '"|/var/mailman/mail/mailman post test-annoucementandart"'!
In this case, "|/var/mailman/mail/mailman post test-annoucementandart" is send to spamc, including the quotes. Luckfully, it doesn't crash on that bad username input.
This is why I sujest looking for "local" and rejecting anything else as non-local user and use "-u" preference to send to spamc.
|