[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <200307162048.h6GKmIup002842@turing-police.cc.vt.edu>
Date: Wed, 16 Jul 2003 16:48:18 -0400
From: Valdis.Kletnieks@...edu
To: Uwe Ohse <uwe@...e.de>
Cc: smtpauth@...t.elysium.pl, qmail@...t.cr.yp.to, bugtraq@...urityfocus.com
Subject: Re: possible open relay hole in qmail-smtpd-auth patch
On Wed, 16 Jul 2003 11:54:18 -0000, Uwe Ohse <uwe@...e.de> said:
> While i'm at it: Your qmail-1.03-jms1-antispam.patch not only violates
> the SMTP protocol (replying OK when the mail will definitively not reach
> the recipient
Actually, it is *quite* legal to reply a '250 OK' on something that will eventually
bounce. If it weren't, you couldn't have an MX site that had no direct knowledge of
all possible valid userids (think about it - your main mail hub goes down, mail
starts piling up at your off-site backup MX - and THAT mail server has to say
'250 OK' without being able to tell for *SURE* that 'userid@...e.de' is or is not valid.
RFC2821, section 6.1 says:
6.1 Reliable Delivery and Replies by Email
When the receiver-SMTP accepts a piece of mail (by sending a "250 OK"
message in response to DATA), it is accepting responsibility for
delivering or relaying the message. It must take this responsibility
seriously. It MUST NOT lose the message for frivolous reasons, such
as because the host later crashes or because of a predictable
resource shortage.
If there is a delivery failure after acceptance of a message, the
receiver-SMTP MUST formulate and mail a notification message. This
notification MUST be sent using a null ("<>") reverse path in the
envelope. The recipient of this notification MUST be the address
from the envelope return path (or the Return-Path: line). However,
if this address is null ("<>"), the receiver-SMTP MUST NOT send a
notification. Obviously, nothing in this section can or should
prohibit local decisions (i.e., as part of the same system
environment as the receiver-SMTP) to log or otherwise transmit
information about null address events locally if that is desired. If
the address is an explicit source route, it MUST be stripped down to
its final hop.
So it's perfectly valid to issue a 250 OK for a bad address, as long as
you bounce it if there's an issue later.
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists