<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-cms-euf-cma-signeddata-00" category="bcp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="BCP for CMS SignedData signedAttrs">Best Practices for CMS SignedData with Regards to Signed Attributes</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-euf-cma-signeddata-00"/>
    <author initials="D." surname="Van Geest" fullname="Daniel Van Geest">
      <organization>CryptoNext Security</organization>
      <address>
        <email>daniel.vangeest@cryptonext-security.com</email>
      </address>
    </author>
    <author fullname="Falko Strenzke">
      <organization>MTG AG</organization>
      <address>
        <email>falko.strenzke@mtg.de</email>
      </address>
    </author>
    <date year="2025" month="November" day="20"/>
    <area>Security</area>
    <workgroup>Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword>Cryptographic Message Syntax</keyword>
    <keyword>CMS</keyword>
    <keyword>Signed Attributes</keyword>
    <keyword>signedAttrs</keyword>
    <keyword>SignedData</keyword>
    <abstract>
      <?line 60?>

<t>The Cryptographic Message Syntax (CMS) has different signature verification behaviour based on whether signed attributes are present or not.
This results in a potential existential forgery vulnerability in CMS and protocols which use CMS.
This document describes the vulnerability and lists best practices and mitigations for such a vulnerability.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lamps-wg.github.io/cms-euf-cma-signeddata/draft-ietf-lamps-cms-euf-cma-signeddata.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lamps-cms-euf-cma-signeddata/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Limited Additional Mechanisms for PKIX and SMIME Working Group mailing list (<eref target="mailto:spasm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spasm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lamps-wg/cms-euf-cma-signeddata"/>.</t>
    </note>
  </front>
  <middle>
    <?line 67?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The Cryptographic Message Syntax (CMS) <xref target="RFC5652"/> signed-data content type allows any number of signers in parallel to sign any type of content.</t>
      <t>CMS gives a signer two options when generating a signature on some content:</t>
      <ul spacing="normal">
        <li>
          <t>Generate a signature on the whole content; or</t>
        </li>
        <li>
          <t>Compute a hash over the content, place this hash in the message-digest attribute in the SignedAttributes type, and generate a signature on the SignedAttributes.
The SignedAttributes type is placed in the signedAttrs field of the SignedData type.</t>
        </li>
      </ul>
      <t>The resulting signature does not commit to the presence of the SignedAttributes type, allowing an attacker to influence verification behaviour.
An attacker can perform two different types of attacks:</t>
      <ol spacing="normal" type="1"><li>
          <t>Take an arbitrary CMS signed message M which was originally signed with SignedAttributes present and rearrange the structure such that the SignedAttributes field is absent and the original DER-encoded SignedAttributes appears as an encapsulated or detached content of type id-data, thereby crafting a new structure M' that was never explicitly signed by the signer.  M' has the DER-encoded SignedAttributes of the original message as its content and verifies correctly against the original signature of M.</t>
        </li>
        <li>
          <t>Let the signer sign a message of the attacker's choice without SignedAttributes.
The attacker chooses this message to be a valid DER-encoding of a SignedAttributes object.
The attacker can then add this encoded SignedAttributes object to the signed message and change the signed message to the one that was used to create the messageDigest attribute within the SignedAttributes.
The signature created by the signer is valid for this arbitrary attacker-chosen message.</t>
        </li>
      </ol>
      <t>This vulnerability was presented by Falko Strenzke to the LAMPS working group at IETF 121 <xref target="LAMPS121"/> and is detailed in <xref target="Str23"/>.</t>
      <t><xref section="5.3" sectionFormat="of" target="RFC5652"/> states:</t>
      <ul empty="true">
        <li>
          <t>signedAttrs is a collection of attributes that are signed.  The field is optional, but it <bcp14>MUST</bcp14> be present if the content type of the EncapsulatedContentInfo value being signed is not id-data.</t>
        </li>
      </ul>
      <t>Thus, if a verifier accepts a content type of id-data in the EncapsulatedContentInfo type when used in SignedData, then a SignerInfo within the SignedData may or may not contain a signedAttrs field and will be vulnerable to this attack.  On the other hand, if the verifier doesn't accept a content type of id-data, the sender always adds the signedAttrs field, and the recipient verifies that signedAttrs is present, the attack will not succeed.</t>
      <t>Due to the limited flexibility of either the signed or the forged message in either attack variant, the fraction of vulnerable systems can be assumed to be small. But due to the wide deployment of the affected protocols, such instances cannot be excluded.</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?>

</section>
    <section anchor="best-practices">
      <name>Best Practices</name>
      <t>This section describes the best practices to avoid the vulnerability at the time of writing.</t>
      <section anchor="dont-use-id-data">
        <name>Don't use id-data</name>
        <t>New uses of the CMS SignedData type <bcp14>MUST</bcp14> disallow the id-data EncapsulatedContentInfo content type.
[WG: <bcp14>MUST NOT</bcp14> or <bcp14>SHOULD NOT</bcp14>?]</t>
        <t>When a protocol which already uses the id-data EncapsulatedContentInfo content type within SignedData is updated, it <bcp14>SHOULD</bcp14> deprecate the use of id-data and use a different (new or existing) identifier. A partial list of such identifiers is found in the "CMS Inner Content Types" IANA subregistry within the "Media Type Sub-Parameter Registries".
[WG: overreach or not?]</t>
        <t>When a protocol which already uses the id-data EncapsulatedContentInfo content type within SignedData is updated and cannot deprecate the use of id-data, the protocol <bcp14>SHOULD</bcp14> be updated to either always require or always forbid the inclusion of the signedAttrs field.  If the protocol is modified to make such a requirement, a recipient <bcp14>MUST</bcp14> check whether the signedAttrs field is present or absent as specified by the protocol, and fail processing if the appropriate condition is not met.</t>
      </section>
      <section anchor="recipient-verification">
        <name>Recipient Verification</name>
        <t>When a recipient receives a CMS SignedData, it <bcp14>SHOULD</bcp14> check that the EncapsulatedContentInfo content type value is one expected by the protocol and fail processing if it isn't.
[WG: <bcp14>MUST</bcp14> or <bcp14>SHOULD</bcp14>?]</t>
        <t>When a recipient receives a CMS SignedData where the EncapsulatedContentInfo content type is not id-data, it <bcp14>SHOULD</bcp14> verify both that the correct content type was received and that the SignedData contains the signedAttrs field and fail processing if either of these conditions is not met.
[WG: <bcp14>MUST</bcp14> or <bcp14>SHOULD</bcp14>?]</t>
      </section>
    </section>
    <section anchor="mitigations">
      <name>Mitigations</name>
      <t>If the id-data EncapsulatedContentInfo content type continues to be used, the following mitigations <bcp14>MAY</bcp14> be applied to protect against the vulnerability described in <xref target="intro"/>.</t>
      <section anchor="recipient-detection">
        <name>Recipient Detection</name>
        <t>This mitigation is performed by a recipient when processing SignedData.</t>
        <t>If the EncapsulatedContentInfo content type is id-data and signedAttrs is not present, check if the encapsulated or detached content is a valid DER-encoded SignedAttributes structure and fail if it is.
The mandatory contentType and messageDigest attributes, with their respective OIDs, should give a low probability of a legitimate message which just happens to look like a DER-encoded SignedAttributes structure being flagged.</t>
        <aside>
          <t>However, a malicious party could intentionally present messages for signing that are detected by the countermeasure and thus introduce errors into the application processing that might be hard to trace for a non-expert.</t>
        </aside>
      </section>
      <section anchor="sender-detection">
        <name>Sender Detection</name>
        <t>This mitigation is performed by a sender who signs data received from a 3rd party (potentially an attacker).</t>
        <t>If the sender will be using the id-data content type and will not be setting the signedAttrs field, check that the 3rd party content is not a DER-encoded SignedAttributes structure, and fail if it is.
Note that also in this case, a malicious party could intentionally present messages that trigger this countermeasure and thereby trigger hard-to-trace errors during the signing process.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The vulnerability is not present in systems where the use of signedAttrs is mandatory, for example: SCEP, Certificate Transparency, RFC 4018 firmware update, German Smart Metering CMS data format.
Any protocol that uses an EncapsulatedContentInfo content type other than id-data is required to use signed attributes.
However, this security relies on a correct implementation of the verification routine that ensures the correct content type and presence of signedAttrs.</t>
      <t>The vulnerability is not present when the message is signed and then encrypted, as the attacker cannot learn the signature.</t>
      <t>Conceivably vulnerable systems:</t>
      <ul spacing="normal">
        <li>
          <t>Unencrypted firmware update denial of service
          </t>
          <ul spacing="normal">
            <li>
              <t>Secure firmware updates often use signatures without encryption.
 If the forged message can bring a device, due to lack of robustness in the parser implementation, into an error state, this may lead to a denial of service vulnerability.
 The possibility of creating a targeted exploit can be excluded with greatest certainty in this case due to the lack of control the attacker has over the forged message.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Dense message space
          </t>
          <ul spacing="normal">
            <li>
              <t>If a protocol has a dense message space, i.e. a high probability that the forged message represents a valid command or the beginning of a valid command, then, especially if the parser is permissive with respect to trailing data, there is a risk that the message is accepted as valid.
 This requires a protocol where messages are signed but not encrypted.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Signing unstructured data
          </t>
          <ul spacing="normal">
            <li>
              <t>Protocols that sign unencrypted unstructured messages, e.g. tokens, might be affected in that the signature of one token might result in the corresponding forged message being another valid token.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>External signatures over unstructured data
          </t>
          <ul spacing="normal">
            <li>
              <t>The probably strongest affected class of systems would be one that uses external signatures, i.e. CMS or PKCS#7 signatures with absent content (that may be transmitted encrypted separately) over unstructured data, e.g. a token of variable length.
 In that case the attacker could create a signed data object for a known secret.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Systems with permissive parsers
          </t>
          <ul spacing="normal">
            <li>
              <t>In addition to potential issues where the protocol parser is permissive (e.g. with respect to trailing space), if the CMS parser is permissive (e.g. allows non-protocol content types, or allows missing signedAttrs with content types either than id-data) then this could result in accepting invalid messages.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>It is generally not good security behaviour to sign data received from a 3rd party without first verifying that data.  <xref target="sender-detection"/> describes just one verification step that can be performed, specific to the vulnerability described in <xref target="intro"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC2119">
          <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">
          <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="LAMPS121" target="https://datatracker.ietf.org/meeting/121/materials/slides-121-lamps-cms-euf-cma-00">
          <front>
            <title>EUF-CMA for CMS SignedData</title>
            <author initials="F." surname="Strenzke">
              <organization/>
            </author>
            <date year="2024" month="November" day="06"/>
          </front>
        </reference>
        <reference anchor="Str23" target="https://ia.cr/2023/1801">
          <front>
            <title>ForgedAttributes: An Existential Forgery Vulnerability of CMS and PKCS#7 Signatures</title>
            <author initials="F." surname="Strenzke">
              <organization/>
            </author>
            <date year="2023" month="November" day="22"/>
          </front>
          <format type="PDF" target="https://eprint.iacr.org/2023/1801.pdf"/>
        </reference>
        <reference anchor="RFC8894">
          <front>
            <title>Simple Certificate Enrolment Protocol</title>
            <author fullname="P. Gutmann" initials="P." surname="Gutmann"/>
            <date month="September" year="2020"/>
            <abstract>
              <t>This document specifies the Simple Certificate Enrolment Protocol (SCEP), a PKI protocol that leverages existing technology by using Cryptographic Message Syntax (CMS, formerly known as PKCS #7) and PKCS #10 over HTTP. SCEP is the evolution of the enrolment protocol sponsored by Cisco Systems, which enjoys wide support in both client and server implementations, as well as being relied upon by numerous other industry standards that work with certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8894"/>
          <seriesInfo name="DOI" value="10.17487/RFC8894"/>
        </reference>
        <reference anchor="RFC8572">
          <front>
            <title>Secure Zero Touch Provisioning (SZTP)</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="I. Farrer" initials="I." surname="Farrer"/>
            <author fullname="M. Abrahamsson" initials="M." surname="Abrahamsson"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document presents a technique to securely provision a networking device when it is booting in a factory-default state. Variations in the solution enable it to be used on both public and private networks. The provisioning steps are able to update the boot image, commit an initial configuration, and execute arbitrary scripts to address auxiliary needs. The updated device is subsequently able to establish secure connections with other systems. For instance, a device may establish NETCONF (RFC 6241) and/or RESTCONF (RFC 8040) connections with deployment-specific network management systems.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8572"/>
          <seriesInfo name="DOI" value="10.17487/RFC8572"/>
        </reference>
        <reference anchor="RFC8551">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="B. Ramsdell" initials="B." surname="Ramsdell"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 4.0. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 5751.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8551"/>
          <seriesInfo name="DOI" value="10.17487/RFC8551"/>
        </reference>
        <reference anchor="RFC6257">
          <front>
            <title>Bundle Security Protocol Specification</title>
            <author fullname="S. Symington" initials="S." surname="Symington"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="H. Weiss" initials="H." surname="Weiss"/>
            <author fullname="P. Lovell" initials="P." surname="Lovell"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>This document defines the bundle security protocol, which provides data integrity and confidentiality services for the Bundle Protocol. Separate capabilities are provided to protect the bundle payload and additional data that may be included within the bundle. We also describe various security considerations including some policy options.</t>
              <t>This document is a product of the Delay-Tolerant Networking Research Group and has been reviewed by that group. No objections to its publication as an RFC were raised. This document defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6257"/>
          <seriesInfo name="DOI" value="10.17487/RFC6257"/>
        </reference>
        <reference anchor="RFC5751">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.2 Message Specification</title>
            <author fullname="B. Ramsdell" initials="B." surname="Ramsdell"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2010"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 3.2. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 3851. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5751"/>
          <seriesInfo name="DOI" value="10.17487/RFC5751"/>
        </reference>
        <reference anchor="RFC5655">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) File Format</title>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <author fullname="E. Boschi" initials="E." surname="Boschi"/>
            <author fullname="L. Mark" initials="L." surname="Mark"/>
            <author fullname="T. Zseby" initials="T." surname="Zseby"/>
            <author fullname="A. Wagner" initials="A." surname="Wagner"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document describes a file format for the storage of flow data based upon the IP Flow Information Export (IPFIX) protocol. It proposes a set of requirements for flat-file, binary flow data file formats, then specifies the IPFIX File format to meet these requirements based upon IPFIX Messages. This IPFIX File format is designed to facilitate interoperability and reusability among a wide variety of flow storage, processing, and analysis tools. [STANDARDS TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5655"/>
          <seriesInfo name="DOI" value="10.17487/RFC5655"/>
        </reference>
        <reference anchor="RFC5636">
          <front>
            <title>Traceable Anonymous Certificate</title>
            <author fullname="S. Park" initials="S." surname="Park"/>
            <author fullname="H. Park" initials="H." surname="Park"/>
            <author fullname="Y. Won" initials="Y." surname="Won"/>
            <author fullname="J. Lee" initials="J." surname="Lee"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document defines a practical architecture and protocols for offering privacy for a user who requests and uses an X.509 certificate containing a pseudonym, while still retaining the ability to map such a certificate to the real user who requested it. The architecture is compatible with IETF certificate request formats such as PKCS10 (RFC 2986) and CMC (RFC 5272). The architecture separates the authorities involved in issuing a certificate: one for verifying ownership of a private key (Blind Issuer) and the other for validating the contents of a certificate (Anonymity Issuer). The end entity (EE) certificates issued under this model are called Traceable Anonymous Certificates (TACs). This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5636"/>
          <seriesInfo name="DOI" value="10.17487/RFC5636"/>
        </reference>
        <reference anchor="RFC5126">
          <front>
            <title>CMS Advanced Electronic Signatures (CAdES)</title>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
            <author fullname="N. Pope" initials="N." surname="Pope"/>
            <author fullname="J. Ross" initials="J." surname="Ross"/>
            <date month="March" year="2008"/>
            <abstract>
              <t>This document defines the format of an electronic signature that can remain valid over long periods. This includes evidence as to its validity even if the signer or verifying party later attempts to deny (i.e., repudiates) the validity of the signature.</t>
              <t>The format can be considered as an extension to RFC 3852 and RFC 2634, where, when appropriate, additional signed and unsigned attributes have been defined.</t>
              <t>The contents of this Informational RFC amount to a transposition of the ETSI Technical Specification (TS) 101 733 V.1.7.4 (CMS Advanced Electronic Signatures -- CAdES) and is technically equivalent to it.</t>
              <t>The technical contents of this specification are maintained by ETSI. The ETSI TS and further updates are available free of charge at: http://www.etsi.org/WebSite/Standards/StandardsDownload.aspx This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5126"/>
          <seriesInfo name="DOI" value="10.17487/RFC5126"/>
        </reference>
        <reference anchor="RFC5024">
          <front>
            <title>ODETTE File Transfer Protocol 2.0</title>
            <author fullname="I. Friend" initials="I." surname="Friend"/>
            <date month="November" year="2007"/>
            <abstract>
              <t>This memo updates the ODETTE File Transfer Protocol, an established file transfer protocol facilitating electronic data interchange of business data between trading partners, to version 2.</t>
              <t>The protocol now supports secure and authenticated communication over the Internet using Transport Layer Security, provides file encryption, signing, and compression using Cryptographic Message Syntax, and provides signed receipts for the acknowledgement of received files.</t>
              <t>The protocol supports both direct peer-to-peer communication and indirect communication via a Value Added Network and may be used with TCP/IP, X.25, and ISDN-based networks. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5024"/>
          <seriesInfo name="DOI" value="10.17487/RFC5024"/>
        </reference>
        <reference anchor="RFC3851">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification</title>
            <author fullname="B. Ramsdell" initials="B." role="editor" surname="Ramsdell"/>
            <date month="July" year="2004"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 3.1. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 2633. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3851"/>
          <seriesInfo name="DOI" value="10.17487/RFC3851"/>
        </reference>
        <reference anchor="RFC3126">
          <front>
            <title>Electronic Signature Formats for long term electronic signatures</title>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
            <author fullname="J. Ross" initials="J." surname="Ross"/>
            <author fullname="N. Pope" initials="N." surname="Pope"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This document defines the format of an electronic signature that can remain valid over long periods. This includes evidence as to its validity even if the signer or verifying party later attempts to deny (i.e., repudiates the validity of the signature). This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3126"/>
          <seriesInfo name="DOI" value="10.17487/RFC3126"/>
        </reference>
        <reference anchor="RFC2633">
          <front>
            <title>S/MIME Version 3 Message Specification</title>
            <author fullname="B. Ramsdell" initials="B." role="editor" surname="Ramsdell"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>This document describes a protocol for adding cryptographic signature and encryption services to MIME data. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2633"/>
          <seriesInfo name="DOI" value="10.17487/RFC2633"/>
        </reference>
      </references>
    </references>
    <?line 197?>

<section anchor="rfcs-using-the-id-data-encapsulatedcontentinfo-content-type">
      <name>RFCs Using the id-data EncapsulatedContentInfo Content Type</name>
      <t>This appendix lists RFCs which use the id-data content type in EncapsulatedContentInfo.
It is a best-effort list by the authors at time of authorship.
The list can be used as a starting point to determine if any of BCPs in this document can be applied.</t>
      <t>The following table summarizes the RFCs' usages of signed attributes.</t>
      <table>
        <name>RFCs using id-data</name>
        <thead>
          <tr>
            <th align="left">RFC</th>
            <th align="left">Signed Attributes Usage</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <xref target="RFC8894"/></td>
            <td align="left">Requires the used of signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC8572"/></td>
            <td align="left">Says nothing about signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC8551"/></td>
            <td align="left">RECOMMENDS signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC6257"/></td>
            <td align="left">Forbids signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5751"/></td>
            <td align="left">RECOMMENDS signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5655"/></td>
            <td align="left">Says nothing about signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5636"/></td>
            <td align="left">Forbids signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5126"/></td>
            <td align="left">Requires signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5024"/></td>
            <td align="left">Says nothing about signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC3851"/></td>
            <td align="left">RECOMMENDS signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC3126"/></td>
            <td align="left">Requires signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC2633"/></td>
            <td align="left">RECOMMENDS signed attributes</td>
          </tr>
        </tbody>
      </table>
      <t>An RFC requiring or forbidding signed attributes does not necessarily mean that a recipient will enforce this requirement when verifying, their CMS implementation may simply process the message whether or not signed attributes are present.  If one of the signed attributes is necessary for the recipient to successfully verify the signature or to successfully process the CMS data then the vulnerability will not apply; at least not when assuming the signer is well-behaved and always signs with signed attributes present in accordance with the applicable specification.</t>
      <section anchor="rfc-8894-simple-certificate-enrolment-protocol">
        <name>RFC 8894 Simple Certificate Enrolment Protocol</name>
        <t>Figure 6 in <xref section="3" sectionFormat="of" target="RFC8894"/> specifies id-data as the EncapsulatedContentInfo content type, and shows the use of signedAttrs.  The document itself never refers to signed attributes, but instead to authenticated attributes and an authenticatedAttributes type.  Errata ID 8247 clarifies that it should be "signed attributes" and "signedAttrs".</t>
        <t>Since SCEP requires the use of signedAttrs with the id-data EncapsulatedContentInfo content type, and the recipient must process at least some of the signed attributes, it is not affected by the vulnerability.</t>
      </section>
      <section anchor="rfc-8572-secure-zero-touch-provisioning-sztp">
        <name>RFC 8572 Secure Zero Touch Provisioning (SZTP)</name>
        <t><xref section="3.1" sectionFormat="of" target="RFC8572"/> allows the use of the id-data content type, although it also defines more specific content types.  It does not say anything about signed attributes.</t>
      </section>
      <section anchor="smime-rfcs">
        <name>S/MIME RFCs</name>
        <t><xref target="RFC8551"/>, <xref target="RFC5751"/>, <xref target="RFC3851"/>, and <xref target="RFC2633"/> require the use of the id-data EncapsulatedContentInfo content type.</t>
        <t><xref section="2.5" sectionFormat="of" target="RFC8551"/> says:</t>
        <ul empty="true">
          <li>
            <t>Receiving agents <bcp14>MUST</bcp14> be able to handle zero or one instance of each
of the signed attributes listed here.  Sending agents <bcp14>SHOULD</bcp14> generate
one instance of each of the following signed attributes in each
S/MIME message:</t>
          </li>
        </ul>
        <t>and</t>
        <ul empty="true">
          <li>
            <t>Sending agents <bcp14>SHOULD</bcp14> generate one instance of the signingCertificate
or signingCertificateV2 signed attribute in each SignerInfo
structure.</t>
          </li>
        </ul>
        <t>So the use of signed attributes is not an absolute requirement.</t>
      </section>
      <section anchor="rfc-6257-bundle-security-protocol-specification">
        <name>RFC 6257 Bundle Security Protocol Specification</name>
        <t><xref section="4" sectionFormat="of" target="RFC6257"/> says:</t>
        <ul empty="true">
          <li>
            <t>In all cases where we use CMS, implementations <bcp14>SHOULD NOT</bcp14> include
additional attributes whether signed or unsigned, authenticated or
unauthenticated.</t>
          </li>
        </ul>
        <t>It does not specify what the behaviour should be if signed attributes are found by the receiver.</t>
      </section>
      <section anchor="rfc-5655-ip-flow-information-export-ipfix">
        <name>RFC 5655 IP Flow Information Export (IPFIX)</name>
        <t><xref target="RFC5655"/> is a file format that uses CMS for detached signatures. It says nothing about the use of signed attributes.</t>
      </section>
      <section anchor="rfc-5636-traceable-anonymous-certificate">
        <name>RFC 5636 Traceable Anonymous Certificate</name>
        <t><xref section="C.1.2" sectionFormat="of" target="RFC5636"/> says:</t>
        <ul empty="true">
          <li>
            <t>The signedAttr element <bcp14>MUST</bcp14> be omitted.</t>
          </li>
        </ul>
        <t>It does not specify what the behaviour should be if signed attributes are found by the receiver.</t>
      </section>
      <section anchor="rfc-5126-cms-advanced-electronic-signatures-cades">
        <name>RFC 5126 CMS Advanced Electronic Signatures (CAdES)</name>
        <t><xref section="4.3.1" sectionFormat="of" target="RFC5126"/> specifies mandatory signed attributes.</t>
        <t>One of the signed attributes is used to determine which certificate is used to verify the signature, so CaDES is not affected by the vulnerability.</t>
      </section>
      <section anchor="rfc-5024-odette-file-transfer-protocol-2">
        <name>RFC 5024 ODETTE File Transfer Protocol 2</name>
        <t><xref target="RFC5024"/> uses the id-data EncapsulatedContentInfo content type and says nothing about signed attributes.</t>
      </section>
      <section anchor="rfc-3126-electronic-signature-formats-for-long-term-electronic-signatures">
        <name>RFC 3126 Electronic Signature Formats for long term electronic signatures</name>
        <t><xref section="6.1" sectionFormat="of" target="RFC3126"/> requires the MessageDigest attribute, which is a signed attribute.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
/T9S71mmmD0AAA==

-->

</rfc>
