[dmarc-ietf] Sender vs From Addresses

Charles Gregory <Charles@possumdelight.com> Wed, 24 March 2021 09:48 UTC

Return-Path: <Charles@possumdelight.com>
X-Original-To: dmarc@ietfa.amsl.com
Delivered-To: dmarc@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 58FBA3A28C9 for <dmarc@ietfa.amsl.com>; Wed, 24 Mar 2021 02:48:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id yvQjm3iAZ3ll for <dmarc@ietfa.amsl.com>; Wed, 24 Mar 2021 02:48:48 -0700 (PDT)
Received: from mail.possumdelight.com (mail.possumdelight.com []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A8CFF3A2424 for <dmarc@ietf.org>; Wed, 24 Mar 2021 02:48:48 -0700 (PDT)
Received: from EX.possumdelight.com (fd07::1:0:0:1:4) by EX.possumdelight.com (fd07::1:0:0:1:4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Wed, 24 Mar 2021 05:48:47 -0400
Received: from EX.possumdelight.com ([fe80::ad5d:d7f1:b37d:a89f]) by EX.possumdelight.com ([fe80::ad5d:d7f1:b37d:a89f%7]) with mapi id 15.02.0792.010; Wed, 24 Mar 2021 05:48:47 -0400
From: Charles Gregory <Charles@possumdelight.com>
To: "dmarc@ietf.org" <dmarc@ietf.org>
Thread-Topic: Sender vs From Addresses
Thread-Index: AdcgkuKhihmmxnZnSJC0xMH2ibjOrQ==
Date: Wed, 24 Mar 2021 09:48:47 +0000
Message-ID: <6cacad89cb2049858938fce107d60dd9@possumdelight.com>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_6cacad89cb2049858938fce107d60dd9possumdelightcom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/LQhrF8-jmu8JiRjKlnY5UbnEpBc>
Subject: [dmarc-ietf] Sender vs From Addresses
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Domain-based Message Authentication, Reporting, and Compliance \(DMARC\)" <dmarc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dmarc>, <mailto:dmarc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dmarc/>
List-Post: <mailto:dmarc@ietf.org>
List-Help: <mailto:dmarc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dmarc>, <mailto:dmarc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Mar 2021 09:50:05 -0000

I'm having trouble with DMARC prioritizing the From address over the Sender address.  Couldn't a future version at least allow this behavior to be modified with the DNS entry or something?

I found my issue well articulated in the thread copied below and completely agree with this gentleman.


Taken from:  email - Why does DMARC operate on the From-address, and not the envelope sender (Return-Path)? - Server Fault<https://serverfault.com/questions/753496/why-does-dmarc-operate-on-the-from-address-and-not-the-envelope-sender-return>

1.       Why was DMARC designed that way?
*       because the people who designed it apparently didn't read section 3.6.2 of RFC 5322<https://tools.ietf.org/html/rfc5322#section-3.6.2>.2>, or misinterpreted it, or ignored it.

That section clearly establishes that a Sender: header, when present, takes priority over a From: header, for the purposes of identifying the party responsible for sending a message:

The "Sender:" field specifies the mailbox of the agent responsible for the actual transmission of the message. For example, if a secretary were to send a message for another person, the mailbox of the secretary would appear in the "Sender:" field and the mailbox of the actual author would appear in the "From:" field. If the originator of the message can be indicated by a single mailbox and the author and transmitter are identical, the "Sender:" field SHOULD NOT be used. Otherwise, both fields SHOULD appear.

Contrast this with the rationale given in RFC 7489<https://tools.ietf.org/html/rfc7489#section-3.1>.1>:

DMARC authenticates use of the RFC5322.From domain by requiring that it match (be aligned with) an Authenticated Identifier. The RFC5322.From domain was selected as the central identity of the DMARC mechanism because it is a required message header field and therefore guaranteed to be present in compliant messages, and most Mail User Agents (MUAs) represent the RFC5322.From field as the originator of the message and render some or all of this header field's content to end users.

I contend that this logic is flawed, as RFC 5322<https://tools.ietf.org/html/rfc5322#section-3.6.2> goes on to call out this error explicitly:

Note: The transmitter information is always present. The absence of the "Sender:" field is sometimes mistakenly taken to mean that the agent responsible for transmission of the message has not been specified. This absence merely means that the transmitter is identical to the author and is therefore not redundantly placed into the "Sender:" field.

I believe that DMARC is broken by design, because
*       it conflates authority to send and proof of authorship;
*       it misinterprets prior RFCs, and
*       in doing so it breaks any previously compliant list-serv that identified itself by adding its own Sender: header.

If a Sender: field is present, DMARC should say to authenticate that field and ignore the From: field. But that's not what it says, and therefore I consider it to be broken.

RFC 7489<https://tools.ietf.org/html/rfc7489#section-3.1> continues:

Thus, this field is the one used by end users to identify the source of the message and therefore is a prime target for abuse.

This is simply wrong (in the context of justifying ignoring the Sender: header). At the time that DMARC was designed, common email clients would routinely display a combination of the information from Sender: and From: fields, something like From name-for-mailing-list@server on behalf of user@original.domain. So it was always clear to the user who was responsible for sending the message they were looking at.


Suggestions that Reply-To: is an adequate replacement are also flawed because that header is widely misinterpreted as "additional recipient" rather than "replacement recipient", and replacing the original sender's Reply-To: would impair the functionality for those users.

Charles A. Gregory