Trent Adams writes:

> -----
> It is important to note that identifier alignment cannot occur, and
> DMARC determination applied, with a message that is not valid per RFC
> 5322 [MAIL].  This is particularly true when a message has a malformed
> or absent RFC5322.From field.
> -----

I occasionally see non-ASCII octets introduced by spam/virus checkers in
X-Spam-* fields in the header or in the (non-8-bit) message body, due to
copying message content into those contexts.  The From field is perfectly
valid, however.  Does that really mean that identifier alignment cannot
occur?

(I think that is a plausible policy choice, since in an invalid message
"anything can happen".  But I don't see that it's a no-brainer.)

> Starting off, we can ignore a <null> address in the RFC5322.From field
> as DMARC will have no bearing in that case.  Similarly, when there is
> exactly one address in the RFC5322.From field, application of DMARC is
> reasonably straight forward.

By "DMARC", you really mean "DMARC policy", right?  DMARC the protocol
does need to say something about what happens if alignment fails or no
policy can be discovered.

> That leaves taking some action based on the DMARC policies associated
> with the set of domains represented in the RFC5322.From field.  It seems
> that the most reasonable approach is to gather the DMARC policies for
> all addresses, and then apply the most strict.

I wouldn't call that "reasonable".  It's the only plausible option, but
here's the problematic use case:

Co-Chairs Trent and Stephen decide to hold a meeting of The Committee. 
For organizational political reasons it is necessary that (a) both names
appear on the memo and (b) Stephen has to do the dirty work.  Stephen
sends the mail "From: tr...@example.com, step...@example.org", with proper
SPF and DKIM setups.  Unfortunately, example.com publishes p=reject,
example.com alignment fails because Stephen sent the message, the MTAs
reject the message, and nobody except Trent and Stephen shows up to the
meeting.  I see two ways this message could pass DMARC: Stephen has the
keys for example.com, or the Japanese "ringi" system, where I write and
sign the message, send it to Trent, who then signs the message but
otherwise forwards it verbatim.  Both seem fragile to me.

OTOH, only checking policies of aligned SPF source domains and DKIM
signers means that Stephen (or any scammer) can add "po...@whitehouse.gov"
to the From field and pass DMARC.  It's obvious what the Felons of April
would do with that.

I guess the most plausible approach to this issue is to say that if you
want to use DMARC and have multiple authors, you must contrive to give all
the authors mailboxes in the same domain.  In the example, I could create
the-committee.example.org for committee members, or give trent a
forwarding mailbox at example.org itself.

> Given all that, here's my suggested revision to Section 5.6.1.:
>
> -----
> 5.6.1.  Extract Author Domain
>
> In order to be processed by DMARC, the domain(s) must be extracted from
> the domain of the email address(es) within the addr-spec portion of the
> RFC5322.From field. If the domain is encoded with UTF-8, the domain name
> must be converted to an A-label for further processing. If no domain is
> found, the message SHOULD be rejected (as it is forbidden under RFC 5322

I still don't think a null From filed is any business of DMARC the
protocol.  That's really an issue for (a) the security considerations
section or (b) the planned BCP.

> [MAIL]).  If more than one domain identifier is found, the full set of
> domains MAY be collected as a set of identifiers for DMARC processing.

But this seems to be the insecure approach I describe above:

>    5.  Conduct identifier alignment checks.  With authentication checks
>        and policy discovery performed, the Mail Receiver checks if
>        Authenticated Identifiers fall into alignment as described in
>        Section 3.  If one or more of the Authenticated Identifiers align
>        with an identifier extracted from the addr-spec of the
>        RFC5322.From domain, the message is considered to pass the
>        DMARC mechanism check.

AFAICS this allows me (using a throwaway mailbox at a throwaway domain) to
send spam that passes DMARC on your behalf, as long as my mailbox appears
in From, too.  Am I misunderstanding your proposed algorithm?

>        All other conditions (authentication
>        failures, identifier mismatches) are considered to be DMARC
>        mechanism check failures.

Bottom line, I think both messages where no Authenticated Identifiers can
be extracted and those where multiple Authenticated Identifiers can be
extracted should be defined to be mechanism check failures.  In the former
case, policy discovery is impossible, in the latter, the strictest policy
should be applied.

Regards,
Steve


_______________________________________________
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to