From nobody Wed Jul 02 19:34:38 2025 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 4bXVTW26mhz60qcG; Wed, 02 Jul 2025 19:34:39 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bXVTV38dkz3bXW; Wed, 02 Jul 2025 19:34:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751484878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3QKKDVd01z8u1vvS0LEmGqepse9mVBSob553lIL4pqI=; b=UVwBa+ntSdhHLN3byYsCYe/zMf7Kjgsw1xMc4Bt6xcNNM6Ihv53yr3yfCRsp7ax4WHFc+f Voo3iNb1u7/c+iv+qhucWz1WRdHz3SwWhIN6OCzC+tnOZ+GysFCe613/5ZuYkEAiecplyf VuQ18gB5Ut3oN1g5G96hcE6XcbEUzXvmtdt2bWp+/6uvLzRNDHOle2engOVY0kdNcQUNEr qtKFhjmyY8YYuJmX3BpySaTLv6DsHhUva0zldItt3si88AEP/jaCkDAOe+a2M7sD4UsHKH p07RCLoUptOuGwRj2ROlFuNAOg2lTvMC6DrzKeChwcahA80sgnO5QsLiJA9ggA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751484878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3QKKDVd01z8u1vvS0LEmGqepse9mVBSob553lIL4pqI=; b=v9gZV7tH+umv/9BOBRw+7rloZuMxl0cVsJp4LMGMq65a8tzmy1nQOD+hzKXYyA+Cr7UFwt mNCzMsnrzOmA44nioNvIIOw2prhW+k5oGd4D5ppRkIX/daWdf3ZO7eA+TK9S3rYp2iOUJ4 UEI9EOFAteQfvSNytZG0xbqXN0xKqawUFPwls3CXTmgSYxqPcGapLZSDGW2PBcCnVYWF3B tY93t9vf3pAjNpR1pKhaTRa1hnCU4zFy4FrXXqqSGoOw0k5rFrHw2Pofd/ysVrdvviGj7y B+KzPLnhCaOhCMNflPt2bEmyltrT8guS4VcLNNmnomsWzNfx3pStDx+SX9HzWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1751484878; a=rsa-sha256; cv=none; b=fEJPHyDa25mMD3hWrBPDUH3McOuKZmFNTBl5SsdRkIBvh4fqV86kmEU5Uywmwiie8Q2ObB 6CvZFECXOndirTI/nrpaDwI7XoOyAQAsmmISd3xgWsTKLCGz9KAxOH6lsldju3HSCrM+kA 8Ph1anxj3fh50E+t1U80UK84Pb640GfRyB7B7vmmu2mX6KhBdZh7dim0AcToHjZul2Kh6Z KAOtlc6+aMNmNGrBLU511a5zkkpd9vBNclQLOTgWFcQoz+0+O/ffQJP1bz2kpmteqooMlX bdNu/c0gEuRsXZZfvXTfQBsO4crHu1i44O+EgUKny3bToGrWbUzZWU5Mbv2ZiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bXVTV2DjCzZ1d; Wed, 02 Jul 2025 19:34:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 562JYcqs088954; Wed, 2 Jul 2025 19:34:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 562JYcTb088951; Wed, 2 Jul 2025 19:34:38 GMT (envelope-from git) Date: Wed, 2 Jul 2025 19:34:38 GMT Message-Id: <202507021934.562JYcTb088951@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: b2f02b04948c - main - if_ethersubr: preserve entropy of MAC addresses 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b2f02b04948cea9b7f019b267e1fc2d083b1417c Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b2f02b04948cea9b7f019b267e1fc2d083b1417c commit b2f02b04948cea9b7f019b267e1fc2d083b1417c Author: Quentin Thébault AuthorDate: 2025-07-02 06:17:29 +0000 Commit: Kyle Evans CommitDate: 2025-07-02 19:33:19 +0000 if_ethersubr: preserve entropy of MAC addresses Ethernet MAC addresses are currently generated by concatenating the first bytes of a SHA1 digest. However the digest buffer is defined as a signed char buffer, which means that any digest digit greater than 0x80 will be promoted to a negative int before the concatenation. As a result, any digest digit greater than 0x80 will overwrite the previous ones throught the application of the bitwise-or with its 0xFF higher bytes, effectively reducing the entropy of addresses generated and significantly increasing the risk of conflict. Defining the digest buffer as unsigned ensures there will be no unwanted consequences during integer promotion and the concatenation will work as expected. Signed-off-by: Quentin Thébault Closes: https://github.com/freebsd/freebsd-src/pull/1750 --- sys/net/if_ethersubr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 66a4724a786c..cf697089708c 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -1486,7 +1486,7 @@ ether_gen_addr_byname(const char *nameunit, struct ether_addr *hwaddr) char uuid[HOSTUUIDLEN + 1]; uint64_t addr; int i, sz; - char digest[SHA1_RESULTLEN]; + unsigned char digest[SHA1_RESULTLEN]; char jailname[MAXHOSTNAMELEN]; getcredhostuuid(curthread->td_ucred, uuid, sizeof(uuid));