From nobody Wed Jul 29 17:47:55 2026 X-Original-To: dev-commits-src-main@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 4h9KYS0Xc3z6mZHH for ; Wed, 29 Jul 2026 17:47:56 +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 4h9KYR6kM7z3fs1 for ; Wed, 29 Jul 2026 17:47:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785347276; 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=5stSHSc5mOqHphpmnbrJcsG1Heo9Q9fnTaq4t6r7SbI=; b=RJLdzHpXR+Ds2c3iEpDORF4WJU31WWJv252Ms+WjnbOBPlXkorBHE1nSrPCdxPfN11O73X 6T96Q20cva17zKbxA9S78iDu9a6+J51kzm8oc8+LufE3jkCEVg+C58SIP2F4x3duoBSBhX rHNRM20mQhR595UN+h7xfhh85skWietNopCC197sT5edYGWrumdjIM8MNbIEjRwjbe0VZ8 sdvA/JoJYBhsy7csekWnj4Fh1GpZYK3Gl1Iu66DKKtchOM7X4amF1QochiH9kGgqlUdcV4 BJY7FzemIFGgcFzNzNP8yT66oPEwb7r6TTRVPBXH84U6+aEi6GlqEOwqsmNiCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785347275; a=rsa-sha256; cv=none; b=KbuCfupnG7FsDjo9VxreSfcjAor/FuDeCmHYI74QX4APEVCnHXd/GKPiYNWirX5HjZH401 9zDqednUJ7IySRbIvA5qM/TwgbTPLT+wN+nmEx6difzNOmgOBYzD266lEby6x06ZF3f5Ba rwL3qMlF6bZH7WTuubrBXszSIRYVStAThqKdFI+PRwD/0vX2t/VEhJUrsc/1Ao/WqO8/Yl /I3X6ecWU7wIumCkj5zUml0tFxUodVCtDxiGNJSWOezTyKRSDUYRZmd2h15enuB3brnoQa FguCrxT0UABjhu0igOg7RJDCuiXu/V9z/HUQCqwDdAQa894G6KIdHWetSyXMiA== 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=1785347275; 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=5stSHSc5mOqHphpmnbrJcsG1Heo9Q9fnTaq4t6r7SbI=; b=yj0MNksnMscKuMx6R06XJJ7v+suG+2R8X+ZgVbeq3dPXjg90dDukMGnBq1B8KHFtnPZaIF A18O85/Vj9ii2Iph44mOsV8yhlWQRZnjxIWdNbKsR4idYBrhZqVMs12uswjZsT9gRb8Two 1V9yBbJpXhQDYEOdr3EzaOvCWS1vNRSGYobqRRtmVr0YqtNEkQkuTIO+e8yXJYxt48dcix xkz4m9Bd92qAQfYM9I85UuMfaLFjerY06El9SYvjjogzK/3Abt4mIefT0Sy/hVepDi2xI7 CZIWWOXrdVCdDrLhdKsQ1ZGMuf94PMe4uw8FMHEUmI9/t67u9S6cQ/VZEQO+eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h9KYR5RsfzcqJ for ; Wed, 29 Jul 2026 17:47:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38c74 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 29 Jul 2026 17:47:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: John Baldwin From: Mark Johnston Subject: git: 34271824525e - main - wg(4): Check for crypto operation errors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 34271824525e18d82c051177de265c8d8a113fb8 Auto-Submitted: auto-generated Date: Wed, 29 Jul 2026 17:47:55 +0000 Message-Id: <6a6a3ccb.38c74.30e0c423@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=34271824525e18d82c051177de265c8d8a113fb8 commit 34271824525e18d82c051177de265c8d8a113fb8 Author: John Baldwin AuthorDate: 2026-07-27 15:36:55 +0000 Commit: Mark Johnston CommitDate: 2026-07-29 17:45:02 +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); }