<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-cms-euf-cma-signeddata-01" 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 signedAttrs in CMS SignedData">Best Practices for Signed Attributes in CMS SignedData</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-euf-cma-signeddata-01"/>
    <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="2026" month="February" day="03"/>
    <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 mitigations and best practices to avoid it.</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>The limited flexibility of either the signed or the forged message in either attack variant may mean the attacks are only narrowly applicable. Nevertheless, due to the wide deployment of the affected protocols and the use of CMS in many proprietary systems, the attacks cannot be entirely disregarded.</t>
      <t>As a mitigation, this document defines the new mimeData content type to be used in new uses of the CMS SignedData type when the encapsulated content is MIME encoded and thus avoid the use of the id-data content type.
This document further describes best practices and mitigations that can also be applied to those protocols or systems that continue to use the content type id-data.</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="mimedata-content-type">
      <name>mimeData Content Type</name>
      <t>The following object identifier identifies the mimeData content type:</t>
      <sourcecode type="asn.1"><![CDATA[
  id-mime-data OBJECT IDENTIFIER ::= { iso(1) member-body(2)
      us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1)
      TBD2 }
]]></sourcecode>
      <t>The mimeData content type is intended as a replacement for the id-data content type in new uses of the CMS SignedData type where the content is MIME encoded.</t>
    </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>
      <t>New uses of the CMS SignedData <bcp14>MUST NOT</bcp14> use the id-data EncapsulatedContentInfo content type. If the new content is MIME encoded, the mimeData content type <bcp14>SHOULD</bcp14> be used.</t>
      <section anchor="existing-uses-of-id-data">
        <name>Existing Uses of id-data</name>
        <t>When a protocol which 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". If the existing content is MIME encoded, the mimeData content type <bcp14>SHOULD</bcp14> be used. Updated protocols that do not deprecate the use of id-data <bcp14>SHOULD</bcp14> provide a rationale for not doing so. Note that accepting the content type id-data during verification is sufficient for a vulnerability to surface. Hence the measures described in <xref target="recipient-verification"/> must be adhered to.</t>
        <t>When a protocol uses the id-data EncapsulatedContentInfo content type within SignedData, it <bcp14>SHOULD</bcp14> specify that the signedAttrs field is either always required or always forbidden.  If a protocol makes 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> be checked that the EncapsulatedContentInfo content type value is the one expected by the protocol and fail processing if it is not.</t>
        <t>As specified in <xref section="5.3" sectionFormat="of" target="RFC5652"/>, a SignerInfo signedAttrs field <bcp14>MUST</bcp14> be present if the content type of the EncapsulatedContentInfo value being signed is not id-data.
To avoid the attack described in <xref target="intro"/>, when a recipient receives a CMS SignedData and the EncapsulatedContentInfo content type is not id-data, it <bcp14>SHOULD</bcp14> verify both that the expected content type was received and that each SignerInfo contains the signedAttrs field, and fail processing if either of these conditions is not met.</t>
      </section>
    </section>
    <section anchor="mitigations">
      <name>Mitigations</name>
      <t>This section describes mitigations for cases where the best practices given above cannot be applied.
When the id-data EncapsulatedContentInfo content type is 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 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 happens to look like a DER-encoded SignedAttributes structure being flagged.</t>
        <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>
      </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 is signing 3rd party content and will not be setting the signedAttrs field, check that the 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, as long as recipients enforce the use of signedAttrs. Some examples where the use of signedAttrs is mandatory are 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>When the message is signed and then encrypted, though in the general case this will make it difficult for the attacker to learn the signature, the vulnerability might still be present if mitigations are not applied:</t>
      <ul spacing="normal">
        <li>
          <t>Signing and encryption might not be done on the same endpoints, in which case an attacker between the endpoints might be able to learn the signature for which it could remove or add the signedAttrs.</t>
        </li>
        <li>
          <t>IND-CPA encryption does not give theoretical guarantees against an active attacker and thus does not guarantee that an attacker cannot rearrange the structure.</t>
        </li>
      </ul>
      <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 great 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 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 other than id-data) then this could result in accepting invalid messages.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Further note that 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="asn1-module">
      <name>ASN.1 Module</name>
      <sourcecode type="asn.1"><![CDATA[
<CODE STARTS>

MimeData-2026 { iso(1) member-body(2) usa(840)
        rsadsi(113549) pkcs(1) pkcs9(9) smime(16) modules(0)
        id-mod-mime-data-2026(TBD1) }
DEFINITIONS EXPLICIT TAGS ::= BEGIN

IMPORTS
    CONTENT-TYPE
    FROM  CryptographicMessageSyntax-2010
      { iso(1) member-body(2) us(840) rsadsi(113549)
         pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) }
    ;

    id-mime-data OBJECT IDENTIFIER ::= { iso(1) member-body(2)
        us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1)
        TBD2 }

    ct-MimeData CONTENT-TYPE ::= { IDENTIFIED BY id-mime-data }

END

<CODE ENDS>

]]></sourcecode>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>In the "SMI Security for S/MIME Module Identifier" registry, create a new entry to point to this document.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Decimal</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">id-mod-mime-data-2026</td>
            <td align="left">[[This Document]]</td>
          </tr>
        </tbody>
      </table>
      <t>In the "SMI Security for S/MIME Content Types" registry, add a new entry for id-mime-data that points to this document.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Decimal</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">id-mime-data</td>
            <td align="left">[[This Document]]</td>
          </tr>
        </tbody>
      </table>
      <t>In the table "CMS Inner Content Types" add a new entry:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">Object Identifier</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">mimeData</td>
            <td align="left">1.2.840.113549.1.9.16.1.TBD2</td>
            <td align="left">[[This Document]]</td>
          </tr>
        </tbody>
      </table>
    </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://eprint.iacr.org/2023/1801">
          <front>
            <title>ForgedAttributes: An Existential Forgery Vulnerability of CMS 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 260?>

<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>The authors would like to thank Russ Housley, Carl Wallace, and John Preuß Mattsson for their valuable feedback on this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
UyqZUjN4o4oRtf4fNpB/l7NKAAA=

-->

</rfc>
