From nobody Wed Jul 29 17:50:07 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4h9Kc01TMcz6mb39 for ; Wed, 29 Jul 2026 17:50:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4h9Kbz5z58z3lv6 for ; Wed, 29 Jul 2026 17:50:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785347407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=73KthFj/1JByFq9s43pBVeD9rXxSVUbjT0LhiBQEZJg=; b=xaUevjJwBlyFpzK9bfTUI2HUQNv5YQM1bFE981smO0r9oE0BNX70FiRVee5yBM8oPoc7BX W8FEF7XKPF5cgPkNO/1J98ngMF/hQGBhIYEi/nrHRqyJ020n7/odsq3VP8pkTCbEpES5u2 /AWd9ZCfy67k0+fnUUrXEw2KOHjLBiD8XCxlsK+47VcGOvjGvlIVlkwFR2GPoV+KT1UYvO KYOlTg2LKEfycHcEDczoL6CkGkFAisJNrTYdUlhjgmDpCMkaLqKxW6av3I5caw/tnpJ61O SkO2QNe3wZG9pu/sIX3IA5QIYQBQLTueFCX/Zy1MIduKDNB4mcnJtL6aAbnqSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785347407; a=rsa-sha256; cv=none; b=iQvfwN/lds3P+uR6h0CHJYv1sGHN0nuN9kFskVc90C8UXro9OQy1cHRIX6NMVOcigxkSPf 2vN6s0gJDJ74nEzfJ3yQzrtqxG/12wRV2qbpKIDBA8hVVOfk6YDXHEiyUqZKeL65Ww0CmR ZpXb/S4U8CgUT//53mQLhSMrxj2ZQnQub47tqAXsdvvYDkyNbvDMA29IVyQN4AJd0+p0z1 SOhxm6fEyo4eKrZJElWmQYKlvSToBiTKvTU+S1GHTsRAw0s2LdSXVw1nZP5/UMIJrmvudm sDIGkcqyZaVFalpnWqd37JyxIODhf6X4QqOC71510zSMeQswFora+7SfQLbWrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785347407; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=73KthFj/1JByFq9s43pBVeD9rXxSVUbjT0LhiBQEZJg=; b=eNFHs5dztQfzf1zW6wOHd+H6c03VoPr5J97MvijnMuQTE0vRgX2WalJnMGxsHLv5QOIJeo AwLGNJgPQeuhIVaaZuJX6UqH764isv+IEJVWaOoaFBurzk1ZGik81jT030DrkTDeZuOhe+ jk2uZDCdSWpI/zg1T/RP/gjKQvTb1D0hCDc9QcgqoD2tEWl1fv5pPkyP3Kau3m93vhydpc W1mOlDJUlmQ5Ci+s/MjlhijMJ9FCtE5+7KlaXnZsAFY+5+34zxFjbz3n/JZShhMRRv23f+ 1b2DFzZOQNGvLOmbwnCbchdzVwjoJvj7WYWZpCb4yY2qCUar8D9zXN6wdI6ldA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h9Kbz4W5LzcJd for ; Wed, 29 Jul 2026 17:50:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3af54 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Jul 2026 17:50:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: John Baldwin From: Mark Johnston Subject: git: d7ad56decf8f - releng/15.0 - wg(4): Check for crypto operation errors List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: d7ad56decf8f6302be6ecda9652a039c8e3c8e11 Auto-Submitted: auto-generated Date: Wed, 29 Jul 2026 17:50:07 +0000 Message-Id: <6a6a3d4f.3af54.7b9ec193@gitrepo.freebsd.org> The branch releng/15.0 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d7ad56decf8f6302be6ecda9652a039c8e3c8e11 commit d7ad56decf8f6302be6ecda9652a039c8e3c8e11 Author: John Baldwin AuthorDate: 2026-07-27 15:36:55 +0000 Commit: Mark Johnston CommitDate: 2026-07-28 17:34:59 +0000 wg(4): Check for crypto operation errors In particular, handle authentication errors due to bad MACs when decrypting packets. Since the current dispatch code assumes synchronous OCF sessions by design, explicitly reject any created OCF session that is not synchronous. Software sessions are always synchronous in practice, so this should be a nop. Approved by: so Security: FreeBSD-SA-26:52.if_wg Security: CVE-2026-58085 Reviewed by: markj Sponsored by: Chelsio Communications --- sys/dev/wg/wg_crypto.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/dev/wg/wg_crypto.c b/sys/dev/wg/wg_crypto.c index 53441ef25b40..82b80c7fd451 100644 --- a/sys/dev/wg/wg_crypto.c +++ b/sys/dev/wg/wg_crypto.c @@ -230,6 +230,8 @@ chacha20poly1305_encrypt_mbuf(struct mbuf *m, const uint64_t nonce, crp.crp_cipher_key = key; crp.crp_callback = crypto_callback; ret = crypto_dispatch(&crp); + if (ret == 0) + ret = crp.crp_etype; crypto_destroyreq(&crp); return (ret); } @@ -253,6 +255,8 @@ chacha20poly1305_decrypt_mbuf(struct mbuf *m, const uint64_t nonce, crp.crp_cipher_key = key; crp.crp_callback = crypto_callback; ret = crypto_dispatch(&crp); + if (ret == 0) + ret = crp.crp_etype; crypto_destroyreq(&crp); if (ret) return (ret); @@ -270,9 +274,14 @@ crypto_init(void) .csp_cipher_klen = CHACHA20POLY1305_KEY_SIZE, .csp_flags = CSP_F_SEPARATE_AAD | CSP_F_SEPARATE_OUTPUT }; - int ret = crypto_newsession(&chacha20_poly1305_sid, &csp, CRYPTOCAP_F_SOFTWARE); + int ret = crypto_newsession(&chacha20_poly1305_sid, &csp, + CRYPTOCAP_F_SOFTWARE); if (ret != 0) return (ret); + if (!CRYPTO_SESS_SYNC(chacha20_poly1305_sid)) { + crypto_freesession(chacha20_poly1305_sid); + return (ENXIO); + } return (0); }