From nobody Fri Dec 19 18:44:21 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+113578+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+113578+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1704950136; cv=none; d=zohomail.com; s=zohoarc; b=VY+I8/BTIobcA/cErI9esRAsc25fkhGYwDK/fBXsDUDN/fzPGa68IFFhp3GXy8K2r/BWvMjneloAtZggqbMNjBZtnErrPxzlBHfiR+MHagp2/quJaZ4wpHtY9py/cg06WMRSnFxEpIAoQOUZa0AvOfr3IfcpOHS78lYSADfyT3c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1704950136; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Sender:Subject:Subject:To:To:Message-Id; bh=sad7vZcn/IytOk3TGuwInBEfDiYrI7G4Uhhg3EsFGF0=; b=XsSziA9uvtsfJMPs7jAo61cSjzURxv4aRFK+ISLzNsQZ1wIjNRrjLO2ddF8dcelgwTwr5x8o6sQYNOxZcqB2enJlk4UZ1Ar6lVyFisBEd85zVBLZ8EzkbSM5oxGS7RDmExKuL610PLZ3ek2w+3Dt6UIPr0OQHatMqKxmFbPG/Uc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+113578+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1704950136709402.87984233966665; Wed, 10 Jan 2024 21:15:36 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=tyF8zYrokkqAA1a4HWxoevYHfyWrUd2NH479UU2M5oM=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1704950136; v=1; b=EtLcCmsUhNoJdmpGNju10+MtQAZpqlvYUPIOaoxcYK/ngUbg1xzNQcsFzJgebZX66Y5Tvyaz Ol0jlZlveSt9wdReZhtHoNVctZnBUUXH7lv3wJwz3qYm8O61K6XG8QPHH9d8AK1ToFD9sn7tGlP BbPyMaBELMxF8E4kWeqGhHX4= X-Received: by 127.0.0.2 with SMTP id wnfwYY1788612xeO5Oe4Cm6B; Wed, 10 Jan 2024 21:15:36 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by mx.groups.io with SMTP id smtpd.web10.5391.1704950130183224811 for ; Wed, 10 Jan 2024 21:15:35 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10949"; a="12229112" X-IronPort-AV: E=Sophos;i="6.04,185,1695711600"; d="scan'208";a="12229112" X-Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jan 2024 21:15:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10949"; a="955624819" X-IronPort-AV: E=Sophos;i="6.04,185,1695711600"; d="scan'208";a="955624819" X-Received: from gguo-desk.gar.corp.intel.com ([10.225.76.26]) by orsmga005.jf.intel.com with ESMTP; 10 Jan 2024 21:15:31 -0800 From: "Guo, Gua" To: devel@edk2.groups.io Cc: gua.guo@intel.com, Gerd Hoffmann , Marc Beatove , Ard Biesheuvel , Sami Mujawar , Ray Ni , John Mathew Subject: [edk2-devel] [PATCH v1 2/4] StandaloneMmPkg/Hob: Integer Overflow in CreateHob() Date: Thu, 11 Jan 2024 13:15:19 +0800 Message-Id: <20240111051521.1366-3-gua.guo@intel.com> In-Reply-To: <20240111051521.1366-1-gua.guo@intel.com> References: <20240111051521.1366-1-gua.guo@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,gua.guo@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 0Kaue2tNtSaSXxAkFgX3tIhfx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1704950137781100001 Content-Type: text/plain; charset="utf-8" From: Gerd Hoffmann REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4166 Fix integer overflow in various CreateHob instances. Fixes: CVE-2022-36765 The CreateHob() function aligns the requested size to 8 performing the following operation: ``` HobLength =3D (UINT16)((HobLength + 0x7) & (~0x7)); ``` No checks are performed to ensure this value doesn't overflow, and could lead to CreateHob() returning a smaller HOB than requested, which could lead to OOB HOB accesses. Reported-by: Marc Beatove Cc: Ard Biesheuvel Cc: Sami Mujawar Cc: Ray Ni Cc: John Mathew Signed-off-by: Gerd Hoffmann Reviewed-by: Ard Biesheuvel --- .../StandaloneMmCoreHobLib/Arm/StandaloneMmCoreHobLib.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneM= mCoreHobLib.c b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/Standalo= neMmCoreHobLib.c index 1550e1babc..29ade2e4ef 100644 --- a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmCoreHo= bLib.c +++ b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmCoreHo= bLib.c @@ -34,6 +34,12 @@ CreateHob ( =20 HandOffHob =3D GetHobList (); =20 + // + // Check Length to avoid data overflow. + // + if (HobLength > MAX_UINT16 - 0x7) { + return NULL; + } HobLength =3D (UINT16)((HobLength + 0x7) & (~0x7)); =20 FreeMemory =3D HandOffHob->EfiFreeMemoryTop - HandOffHob->EfiFreeMemoryB= ottom; --=20 2.39.2.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113578): https://edk2.groups.io/g/devel/message/113578 Mute This Topic: https://groups.io/mt/103657272/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-