<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 4.0.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mahy-mls-ext-commit-pp-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="MLS Pending Proposals in External Commits">Including Pending Proposals in External Commits in the Messaging Layer Security protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-mahy-mls-ext-commit-pp-02"/>
    <author initials="R." surname="Mahy" fullname="Rohan Mahy">
      <organization/>
      <address>
        <email>rohan.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="01"/>
    <area>Security</area>
    <workgroup>Messaging Layer Security</workgroup>
    <keyword>external commits</keyword>
    <keyword>pending proposals</keyword>
    <abstract>
      <?line 36?>

<t>The Messaging Layer Security (MLS) protocol allows authorized non-members to join a group via external commits, however it disallows most pending proposals in those commits, which causes unfortunate side effects. This document describes an MLS extension to include pending proposal in external commits when the extension is present in a group.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://rohanmahy.github.io/mls-ext-commit-pp/draft-mahy-mls-ext-commit-pp.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mahy-mls-ext-commit-pp/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Messaging Layer Security Working Group mailing list (<eref target="mailto:mls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/mls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/mls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/rohanmahy/mls-ext-commit-pp"/>.</t>
    </note>
  </front>
  <middle>
    <?line 41?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>MLS <xref target="RFC9420"/> allows external commits by authorized clients. The external committer needs a copy of the GroupInfo, either from an existing member or (when supported) from the MLS Distribution Service (DS). The reasoning was that the external committer can't access pending proposals, and that the external committer could not verify them in any case.</t>
      <t>The problem is that two important use cases are negatively impacted when external committers join: leaving a group, and external policy enforcement.</t>
      <t>This document describes an MLS extension, that when in the <tt>required_capabilities</tt> in the GroupContext, requires an external joiner to include any pending proposals by reference in its external commit.
It assumes that the external joiner can get a suitable set of external proposals from whichever party supplies the GroupInfo.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document relies on many terms and struct names from <xref target="RFC9420"/>.</t>
    </section>
    <section anchor="problem-use-cases">
      <name>Problem Use Cases</name>
      <section anchor="leaving-a-group">
        <name>Leaving a group</name>
        <t>MLS clients cannot leave a group without the assistance of another member of the group. A Remove proposal, or SelfRemove proposal (see <xref section="6.4" sectionFormat="of" target="I-D.ietf-mls-extensions"/>) needs to be committed before it takes effect, but a client cannot commit its own remove, because a committer knows the epoch secret for the newly created epoch.</t>
        <t>Instead, a leaver sends a Remove or SelfRemove proposal and then stays in the group it is trying to leave until it receives a commit showing it has been removed.
The client will not be able to determine the epoch secret of the new group, but it will be able validate the tags of the commit.
If an external commit is accepted by the DS before a Remove proposal is committed, the leaver needs to enter the new epoch and try to leave again.
In practice, this can happen multiple times before the leaver's proposal is finally committed.</t>
        <t>The SelfRemove proposal addresses this problem partially, in that SelfRemove proposals can be included by reference in an external commit, however this does not solve the problem when there are related proposals that should be processed atomically.</t>
        <t>When the leaver wants all the clients of the same "user" identity to leave simultaneously, it has a dilema. It can commit Remove proposals for all the user's other clients, then send a SelfRemove proposal immediately in the new epoch. Alternatively, it can send a bundle a proposals for itself and the user's other clients, but risk that only the SelfRemove proposal is committed (at which point the leaver cannot effect any other changes to the group), or that several epochs pass before all the leaving clients are removed.</t>
        <t>This problem is exacerbated in the More Instant Message Interoperability (MIMI) protocol (<xref target="I-D.ietf-mimi-protocol"/>) since the removal of another client may not be authorized by itself, but would be otherwise acceptable when a user is removing itself completely.</t>
      </section>
      <section anchor="external-policy-enforcer">
        <name>External policy enforcer</name>
        <t>In many architectures, an external policy enforcer can send external proposals to an MLS group.
This could be relatively simple, as in an organization removing a compromised client, or a company removing the clients associated with an employee when she leaves the company.</t>
        <t>In more complicated scenarios, such as in MIMI room policy <xref target="I-D.ietf-mimi-room-policy"/>, the policy enforcer might change the role of a participant to ban them, to prevent them from sending messages, or to remove their moderator privileges.</t>
        <t>If an external commit occurs after the pending external proposals, the commit would usually exclude the pending proposals.
The policy enforcer would have to resend the external proposals in the new epoch.</t>
        <t>A malicious client could try to send an external commit to rejoin the group immediately upon seeing a proposal to lower its privileges.
The DS could refuse the external commit, but the participant would still have legitimate use cases where it may need to rejoin via an external commit.</t>
        <t>A pair of malicious clients, A and B, could collude so if B sees an external proposal removing, banning, or reducing privileges of A, B sends an external commit.
B could potentially delay the policy action against A by several epochs using this approach.</t>
      </section>
    </section>
    <section anchor="mechanism">
      <name>Mechanism</name>
      <t>This document defines the <tt>external_pending_proposals</tt> extension type. When present in the capabilities of a LeafNode it indicates the client's support of the extension. When present in the <tt>required_capabilities</tt> in the GroupContext, it indicates that all clients <bcp14>MUST</bcp14> include all the pending proposals provided to it by the provider of the GroupInfo.</t>
      <t>The <tt>external_pending_proposals</tt> extension type has no contents:</t>
      <sourcecode type="tls"><![CDATA[
struct {
} ExternalPendingProposalsContents;
]]></sourcecode>
      <t>The provider of the GroupInfo is expected to provide all the pending proposals it has received at the point it provides the GroupInfo.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="authentication-of-proposals-by-potential-joiner">
        <name>Authentication of Proposals by Potential Joiner</name>
        <t>If the source of the GroupInfo provides an invalid proposal, an external commit using that GroupInfo and proposal list will be rejected by the other group members.
This is effectively a denial of service attack on the client that wants to join the group. However the source of the GroupInfo could more easily not provide the GroupInfo, or provide an invalid one.
This problem could be eliminated if the external joiner can authenticate the request.
This is already the case for most external proposals, which are typically used for policy enforcement.
<xref target="I-D.kohbrok-mls-leaf-operation-intents"/> describes a mechanism by which leavers can prove their intent to leave and, at the time, their membership in an MLS group.</t>
      </section>
      <section anchor="authentication-of-proposals-by-a-policy-enforcing-ds">
        <name>Authentication of Proposals by a policy enforcing DS</name>
        <t>A policy enforcing DS can validate most proposals and commits. A malicious or faulty client can generate an incorrect tag or an invalid UpdatePath without detection by the MLS DS, regardless of this mechanism. Most of the proposal types in <xref target="RFC9420"/> can be validates by a policy enforcing DS, however a proposal that members could determine was invalid, but a DS could not could lead to exactly the same types of problems already observed with faulty commits.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests the addition of a new MLS Extension Type under the heading of "Messaging Layer Security".</t>
      <t>RFC EDITOR: Please replace XXXX throughout with the RFC number assigned to this document</t>
      <t>The <tt>external_pending_proposals</tt> MLS Extension Type is used inside GroupContext and LeafNode objects.
When present it indicates support for this extension.</t>
      <ul spacing="normal">
        <li>
          <t>Value: 0x0009 (suggested)</t>
        </li>
        <li>
          <t>Name: external_pending_proposals</t>
        </li>
        <li>
          <t>Message(s): GC, LN : This extension may appear in GroupContext and LeafNode objects</t>
        </li>
        <li>
          <t>Recommended: Y</t>
        </li>
        <li>
          <t>Reference: RFC XXXX</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9420" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9420.xml">
          <front>
            <title>The Messaging Layer Security (MLS) Protocol</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="R. Robert" initials="R." surname="Robert"/>
            <author fullname="J. Millican" initials="J." surname="Millican"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="K. Cohn-Gordon" initials="K." surname="Cohn-Gordon"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>Messaging applications are increasingly making use of end-to-end security mechanisms to ensure that messages are only accessible to the communicating endpoints, and not to any servers involved in delivering messages. Establishing keys to provide such protections is challenging for group chat settings, in which more than two clients need to agree on a key but may not be online at the same time. In this document, we specify a key establishment protocol that provides efficient asynchronous group key establishment with forward secrecy (FS) and post-compromise security (PCS) for groups in size ranging from two to thousands.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9420"/>
          <seriesInfo name="DOI" value="10.17487/RFC9420"/>
        </reference>
        <reference anchor="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="I-D.ietf-mls-extensions">
          <front>
            <title>The Messaging Layer Security (MLS) Extensions</title>
            <author fullname="Raphael Robert" initials="R." surname="Robert">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   The Messaging Layer Security (MLS) protocol is an asynchronous group
   authenticated key exchange protocol.  MLS provides a number of
   capabilities to applications, as well as several extension points
   internal to the protocol.  This document provides a consolidated
   application API, guidance for how the protocol's extension points
   should be used, and a few concrete examples of both core protocol
   extensions and uses of the application API.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mls-extensions-10"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-mimi-protocol">
          <front>
            <title>More Instant Messaging Interoperability (MIMI) using HTTPS and MLS</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Matthew Hodgson" initials="M." surname="Hodgson">
              <organization>The Matrix.org Foundation C.I.C.</organization>
            </author>
            <author fullname="Konrad Kohbrok" initials="K." surname="Kohbrok">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <author fullname="Travis Ralston" initials="T." surname="Ralston">
              <organization>The Matrix.org Foundation C.I.C.</organization>
            </author>
            <author fullname="Raphael Robert" initials="R." surname="Robert">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <date day="25" month="April" year="2026"/>
            <abstract>
              <t>   This document specifies the More Instant Messaging Interoperability
   (MIMI) transport protocol, which allows users of different messaging
   providers to interoperate in group chats (rooms), including to send
   and receive messages, share room policy, and add participants to and
   remove participants from rooms.  MIMI describes messages between
   providers, leaving most aspects of the provider-internal client-
   server communication up to the provider.  MIMI integrates the
   Messaging Layer Security (MLS) protocol to provide end-to-end
   security assurances, including authentication of protocol
   participants, confidentiality of messages exchanged within a room,
   and agreement on the state of the room.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mimi-protocol-06"/>
        </reference>
        <reference anchor="I-D.ietf-mimi-room-policy">
          <front>
            <title>Room Policy for the More Instant Messaging Interoperability (MIMI) Protocol</title>
            <author fullname="Rohan Mahy" initials="R." surname="Mahy">
              <organization>Rohan Mahy Consulting Services</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   This document describes a set of concrete room policies for the More
   Instant Messaging Interoperability (MIMI) Working Group.  It
   describes several independent properties and policy attributes which
   can be combined to model a wide range of chat and multimedia
   conference types.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mimi-room-policy-04"/>
        </reference>
        <reference anchor="I-D.kohbrok-mls-leaf-operation-intents">
          <front>
            <title>Leaf Operation Intents</title>
            <author fullname="Konrad Kohbrok" initials="K." surname="Kohbrok">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   The Messaging Layer Security (MLS) protocol defined in [RFC9420] is
   an asynchronous secure group messaging protocol, which allows group
   members to propose their removal from a group.

   However, in some cases MLS clients can't reliably use regular Remove
   or SelfRemove proposals to leave a group because they don't have an
   up-to-date group state.

   This document specifies a LeafOperationIntent, which does not need an
   up-to-date group state but which retains sufficient binding to the
   client's current state to avoid replay attacks.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kohbrok-mls-leaf-operation-intents-01"/>
        </reference>
      </references>
    </references>
    <?line 157?>



  </back>
  <!-- ##markdown-source:
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
eP80ZauTS+L3xzmySZL8H3V8gDQzIQAA

-->

</rfc>
