From nobody Wed Jul 29 17:49:01 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 4h9KZj6CnHz6mZfk for ; Wed, 29 Jul 2026 17:49:01 +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 4h9KZj2Xclz3jWJ for ; Wed, 29 Jul 2026 17:49:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785347341; 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=ENBD3xE3nFTCl8H0j6jsaX0/kV6dmTvbbAXDymmDxC4=; b=Mkv97PU53VXj7BqGDt9wSq2EZmJyY7REpc5VBvHcjA/vnWsHa4cepSy2pme1JsdmTskArg Q+zL4G8OZJkzao+9fsTedWrbMIT64RpUqryBc5QSfj5ncMuSbs7NRD83gDLHFFIBkcgWOH G/ToOtNupXahm/P1FoubpTdGHf9T2vcdlareLng1qJQ3A2Cmzm0v5nc8hcxnFexQBRM5/g k9nbCNWUovAaahaSnXW48004O5TqMegxmCbmJz1ctRdORA9Ul5mbO+PF6RmmBVL+6k68AK +VpWY85edPKRGKgc2aLlUHzixNORU0g8CQIF5PVKy9wGsHTN/MnsIsBOHdwEHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785347341; a=rsa-sha256; cv=none; b=SWgrcrvk93ttOnwPxKFK1tXOwP4gYVWKmt3V7XbCNf9PVBXuIKpIGaxPDSZFWSwaKZg8qr HhBiiaatgILRDvmB0tV3PKUjKtqhOXdJAloqp63FSu/jfBHZUBk6dbrJKwVClI0VlTzoGd FgDUBTA5BKp0GV1J7ii83ilEs+VR1qOjCwrZu79gfq0LMrSryMsIAuxt2yjE0qoahknyMd Y76Kf6GBk7IHZz7Dps0YHsO2DmcnGjms32crzhhSV+c6nHXlwSym/n/85KSR1AOjm5T+Cm rhangA6011wpEoZBmKIEh9UgCfDSN5vkJ5Ew3DlWK6F/4oaGAeKC83qocM+yIg== 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=1785347341; 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=ENBD3xE3nFTCl8H0j6jsaX0/kV6dmTvbbAXDymmDxC4=; b=nM2Bx1jrzpGLUYs9ZliNFwUL3wquu/93pSHojprYo6Nxuw4QOeTe7baLZAxZ7/mfVwQQmJ 0VdFVmmlxm1ee2FZ4F79mzfNqcj8rgFnPCp9Iub86bIDi9WaxmVjisUB7MnbEDOxbZoWFf Xd3MPYYDG5HPnHiHVaws+j+TR10lFdXEC7nTFP+pPtSbcmuW78/hrXn6RH9wM4GaTdAiAU aG/ARtcWM7PWmiqnpmHCAj788vN6la5YV9UlWKeKkYg1fh2zPZgNvxSajiXsQri4kod9ja ktDCffvouNox1Z0UwT0EBQi1HkBfIrv/pupY1iIkZOTCYXpf1A+k5TtlbHj81w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h9KZj1CS9zcvr for ; Wed, 29 Jul 2026 17:49:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a5d4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Jul 2026 17:49:01 +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: 4cb888c9ec4b - stable/14 - 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4cb888c9ec4b8704f1789701b27a0901879cdc6d Auto-Submitted: auto-generated Date: Wed, 29 Jul 2026 17:49:01 +0000 Message-Id: <6a6a3d0d.3a5d4.293122d1@gitrepo.freebsd.org> The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4cb888c9ec4b8704f1789701b27a0901879cdc6d commit 4cb888c9ec4b8704f1789701b27a0901879cdc6d Author: John Baldwin AuthorDate: 2026-07-27 15:36:55 +0000 Commit: Mark Johnston CommitDate: 2026-07-29 17:48:54 +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); }