[Cbor] Re: Working Group Last Call on Serialization draft

Laurence Lundblade <lgl@island-resort.com> Mon, 31 August 2026 20:19 UTC

Return-Path: <lgl@island-resort.com>
X-Original-To: cbor@mail2.ietf.org
Delivered-To: cbor@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 28D7F13293BB4 for <cbor@mail2.ietf.org>; Mon, 31 Aug 2026 13:19:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1788207558; bh=ZnlcoJcV740X5luugNy/k+J+rj5rIguwF6GK5qIMKlo=; h=From:Subject:Date:In-Reply-To:Cc:To:References; b=aaTUkLq0ZUsweYyesMIpkfkQd65AvrQvKSFDOK7ZeZJBg4+YcXXIO+QppBkS9aI4x J5ZrQDSGpZy9f37HeXXnIOPP/GuGxfaGSMA91N3sQyi+irZnLwsUDorpIMyZ4A2nPG K+1IllLhYjtck0KpuExfddXUxWH+DxDRAeTvQsfA=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.697
X-Spam-Level:
X-Spam-Status: No, score=-1.697 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=neutral reason="invalid (public key: not available)" header.d=island-resort.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id m6S_1qKkyjLg for <cbor@mail2.ietf.org>; Mon, 31 Aug 2026 13:19:17 -0700 (PDT)
Received: from sender6-pp-f112.zoho.com (sender6-pp-f112.zoho.com [165.173.180.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 87AC913293B7A for <cbor@ietf.org>; Mon, 31 Aug 2026 13:19:17 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1788207554; cv=none; d=zohomail.com; s=zohoarc; b=IL7eiWcRljZwTL88nObrHZqN+oruUEdPiT9rA0EdQB66gNhOzE7dx6mzn4pC0PtFhGfo3GKx5ovyIl5AUEtHOxxRzAnEH7p3eF9uPW+sWqo0E+heyKBQyJIVafpTcp+iyNqdUbBgZDtDpMQoOAdh+g/Pz7SZ35TP259vaujawZ8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788207554; h=Content-Type:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=Ba04xL1tni4HFXecxpseY7//NqMkXqceW3L0XPE90tE=; b=TxvsDjTCtfjrusGUatjUecb9QmlX7hBF1Ddab4G0X4YqnzfpNJijyKjYT190uvzzC+qAiHiIg6FdHtyO8+5x+3suYNEEOWMg7l0KC0hDgEdno8IofTPITXOtF0f3aRoy+46mvceLKUY4AzC79ND4wyu+lDKcBStf7MpUKFM4+3E=
ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=island-resort.com; spf=pass smtp.mailfrom=lgl@island-resort.com; dmarc=pass header.from=<lgl@island-resort.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1788207554; s=island; d=island-resort.com; i=lgl@island-resort.com; h=From:From:Message-Id:Message-Id:Content-Type:Mime-Version:Subject:Subject:Date:Date:In-Reply-To:Cc:Cc:To:To:Reply-To; bh=Ba04xL1tni4HFXecxpseY7//NqMkXqceW3L0XPE90tE=; b=TstRk0nRCOheH9vnti7/k0xC4UNYtKIQxlnu5dMMFVLcq2iaLml+BjTl1BFV//N9 6U1bB5ZAFaMPWBbsurDDbZ9ziEa7O4uJ/mzhr/bFXkpV4N1ezpIOXHWgBZ7/Uhs5Lsd lJtmuvgHtPD131gRRKKc/HapsYBwkRfajUoVDfSA=
Received: by mx.zohomail.com with SMTPS id 1788207552741268.40487116755764; Mon, 31 Aug 2026 13:19:12 -0700 (PDT)
From: Laurence Lundblade <lgl@island-resort.com>
Message-Id: <7D242660-39F1-4CC0-A0F3-45A37DD3B448@island-resort.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_828E17E6-18F2-4BB1-A96C-80EA128FF1CC"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81.1.8\))
Date: Mon, 31 Aug 2026 13:19:01 -0700
In-Reply-To: <876653A4-6425-45E1-A77A-F0A6A1315BDD@cursive.net>
To: Joe Hildebrand <hildjj@cursive.net>
References: <CALaySJJa=QjUM5B6d8boiFb8qyRwf6LO32WVVWBGuCWtSmEFCQ@mail.gmail.com> <876653A4-6425-45E1-A77A-F0A6A1315BDD@cursive.net>
X-Mailer: Apple Mail (2.3826.700.81.1.8)
X-ZohoMailClient: External
Message-ID-Hash: VR4HG5JZDA2XA2G2AQY7AMMUPJ5B4WO3
X-Message-ID-Hash: VR4HG5JZDA2XA2G2AQY7AMMUPJ5B4WO3
X-MailFrom: lgl@island-resort.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cbor.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Barry Leiba <barryleiba@gmail.com>, CBOR Working Group <cbor@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Cbor] Re: Working Group Last Call on Serialization draft
List-Id: "Concise Binary Object Representation (CBOR)" <cbor.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/i1HrvTzgDTPZr-mLDd4rhoTzwNw>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Owner: <mailto:cbor-owner@ietf.org>
List-Post: <mailto:cbor@ietf.org>
List-Subscribe: <mailto:cbor-join@ietf.org>
List-Unsubscribe: <mailto:cbor-leave@ietf.org>

Joe, I don’t quite get what you are after here yet. Which sections are inadequate?

I am thinking of adding this text to the decoder requirements for both preferred-plus and deterministic:

The above requirements are what the decoder MUST accept. A decoder complying to these requirements can also accept other well-formed serializations if it is being liberal in what it accepts. If a decoder chooses to accept only these requirements, then it is a “checking decoder” as described in appendix H.

I don’t think any CBOR library should default to a checking decoder. It should be a mode that is selectable when and end-end protocol specifies it, or a particular deployment wants it.

It’s never an input validation security issue. Non-checking decoders must do bullet-proof input validation.

LL


> On Aug 18, 2026, at 12:05 PM, Joe Hildebrand <hildjj@cursive.net> wrote:
> 
> - (most important) Make it clear in each section whether the rules apply to encoders or decoders.
> - Make it clear that it is up to the protocol designer what to do when decoding inputs that are not in the expected encoding. This is good for protocols where encoding errors (attacks?) might have security consequences.  A couple of examples or criteria could help protocol designers decide.  There is some text in appendix H but it isn't directive enough.
> - Make a note that even if the protocol designer did not specify that checking should be done, it may make sense to check on inputs on non-constrained devices to increase the likelihood of finding encoding errors before crashing constrained devices.