From nobody Wed Jul 29 17:50:33 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 4h9KcT2vVNz6mb8C for ; Wed, 29 Jul 2026 17:50:33 +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 4h9KcT14QWz3mZw for ; Wed, 29 Jul 2026 17:50:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785347433; 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=ZdLkO3uplnAQHyx0s4lv2BEe0TFoDNNRS2k5shGltPI=; b=HHBZ5G+RHlNZjVbi2/uGGBNLwGBsUKfHeLYhBl41xn0yh4Z8DhNxXSfTsU+nsI70LIpRiu Zq5mRR44dUum2IQJFL6tN80JfkgxmphRkY2qj5Bxs7E6/E0mi1NSpCNsqP7qUQS/+D0s9A UiOrEFkaSIlzYnZqZUVrcMzetfZanaU47QL7JopGuDPcv6Bnqe0aq3+tirAs0bGCtXsLDS fat70JH9yfNI8LswVadb5d/V1xocRrm+ReLXSx9Kp3SURkl9KvSNbmpV37r4/9vdq0NP42 wibg9ZgUe7IcKl/gwlP40+4gXx0QzlLXdJF3FBci76U806eIiqYmxPTIjsRgVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785347433; a=rsa-sha256; cv=none; b=otSYGll5CmEbTonVFltiIG6D4iZj3quFALNyDPXhBELyjlk6vOrbjifs4c6gfgZEkvGaIZ 6ngSLWFTlMC2lxYcvpLkmViCQdSW1cSFQkudmF5eExkydbBPPlTWN5aqRLls7JOHWQTsPA Rz0mI5SLBKGABda8c+gr5jfdMMb7svtlRsPFEOOabTvmbcWGtWTo+MwYS+4uBfUgki6Fzq GorC9Jm9q/9NnNDQzf107My+v7YE8K+9B2TS8dNycICVghin7gTxf8cH0PH3Plt2TU/kkP J2UvCWRlQJ9YzGvZtQf80JBxGVSYF0EqmjplVcMZQKffz0YgYEYA7gdUYFIjlQ== 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=1785347433; 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=ZdLkO3uplnAQHyx0s4lv2BEe0TFoDNNRS2k5shGltPI=; b=nqkzCeos67gH1RKFyAFFLUyOfbodzFALVVxM/lTVb3XnTYfsVcRyjcPtTH+RmND24sPnL9 /4SHcvCTVXaV1C95eyCcCtjJuHYp0MJ05hut8i55FSrHGOcAgknvnEiD+Ik3fzN114NJ1w 3dwxuL5Ooo9ocywUUUSYo+B4xSy1/+wvBNdNH6hdVMgv/eN3JxGpawhzHCFqR8nN05w2JE z/euo9ldC2sdWW05QnRtZbVVc4jeUlC1Lil0Tzhq3tq6r2n346J9M2lrxlJTm09+pYPeID stX6z7b+KxRhaWyhjJkzO5s7RPKn3TR3Jjdb7F6DeLWy1g3gUVV+VdkvJ0E3CQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h9KcT03S1zcql for ; Wed, 29 Jul 2026 17:50:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bd67 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Jul 2026 17:50:33 +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: 70c2d227862f - releng/15.1 - 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.1 X-Git-Reftype: branch X-Git-Commit: 70c2d227862f47127cace2a1da1a2d4f4833963c Auto-Submitted: auto-generated Date: Wed, 29 Jul 2026 17:50:33 +0000 Message-Id: <6a6a3d69.3bd67.1b080913@gitrepo.freebsd.org> The branch releng/15.1 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=70c2d227862f47127cace2a1da1a2d4f4833963c commit 70c2d227862f47127cace2a1da1a2d4f4833963c Author: John Baldwin AuthorDate: 2026-07-27 15:36:55 +0000 Commit: Mark Johnston CommitDate: 2026-07-28 17:34:40 +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); }