<?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-vangeest-lamps-cms-euf-cma-signeddata-02" 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-vangeest-lamps-cms-euf-cma-signeddata-02"/>
    <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="October" 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://danvangeest.github.io/cms-euf-cma-signeddata/draft-vangeest-lamps-cms-euf-cma-signeddata.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-vangeest-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/danvangeest/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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
+n9jqT98pj0AAA==

-->

</rfc>
