From nobody Wed Jul 29 17:47:55 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 4h9KYS0YZgz6mZbx 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 4h9KYR6kRPz3fs2 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=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=P5sHpC7M/zLJ6nDdq3Nti/dsYJ++wG9MLzEmGiVEJRKVykyEGxhhqDMTidABaBgefdRYNP 0oUHuJi0h2MEoKJV0iKaZ1D6rrps3HUB00Usw88QZythF1dRo4qY7HIPWRlQr9LgJpCZK4 NyU4dLN8+IleKuLHTlledTdkpm69jUpJ4h4ZRB8jS5bnOpza6rTVRHpIoo9Axvh4/1r9tm MH09FAxIDnAZg4wpkCOacLz+cMskPBLQ/xTVuNHZEZpIvDqQS0QozwAyWLbXX7Dm4pcqYq AchOPxlPlqsteCgO0esn9Gj3OuSQE64oW1NZ7IjrOfiOd0AACB+BMcWGdI4hTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785347276; a=rsa-sha256; cv=none; b=Yi/L4Txs03lE1GVBJ5GJD8/bOZvcfQLQWNofauBEOagM039paZqTMep9tz2yNpvTBOY28K RIDMqZmrQdSt1weSeRkF2hFBpfLnkcQ2uhpSmwoaf1TDA/c9gCwUzg6jIR7g972kZ/oPoH BKOvLQr8xYIeN+1K7kXdGeARWDy2PkhRF9z6//yOkeSDdeIHFDzFen2FZ5UdMh+oeHQHv4 f/56nC6v/r4UfWrEK817gDDbzztic5hV1BZ+MeLMxBw83NthHBdxbD52C8mAK7L8y0cV50 aAp+HSJN0io7ZAfXr8hk90BYEd1V4hiDF7UMJm5eGgPEWaeBo5H3BlpgIrZyKg== 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 4h9KYR5ShQzcqK 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 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/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); }