Skip to content

Commit

Permalink
NetworkPkg: Dhcp6Dxe: SECURITY PATCH CVE-2023-45230 Unit Tests
Browse files Browse the repository at this point in the history
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4535

Confirms that reported issue...

"Buffer overflow in the DHCPv6 client via a long Server ID option"

..has been corrected by the provided patch.

Tests the following functions to ensure they appropriately handle
untrusted data (either too long or too small) to prevent a buffer
overflow:

Dhcp6AppendOption
Dhcp6AppendETOption
Dhcp6AppendIaOption

Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>

Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
  • Loading branch information
Doug Flick via groups.io authored and mergify[bot] committed Feb 6, 2024
1 parent 8014ac2 commit 5f36581
Show file tree
Hide file tree
Showing 4 changed files with 542 additions and 0 deletions.
20 changes: 20 additions & 0 deletions NetworkPkg/Dhcp6Dxe/GoogleTest/Dhcp6DxeGoogleTest.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/** @file
Acts as the main entry point for the tests for the Dhcp6Dxe module.
Copyright (c) Microsoft Corporation
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include <gtest/gtest.h>

////////////////////////////////////////////////////////////////////////////////
// Run the tests
////////////////////////////////////////////////////////////////////////////////
int
main (
int argc,
char *argv[]
)
{
testing::InitGoogleTest (&argc, argv);
return RUN_ALL_TESTS ();
}
43 changes: 43 additions & 0 deletions NetworkPkg/Dhcp6Dxe/GoogleTest/Dhcp6DxeGoogleTest.inf
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
## @file
# Unit test suite for the Dhcp6Dxe using Google Test
#
# Copyright (c) Microsoft Corporation.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
[Defines]
INF_VERSION = 0x00010017
BASE_NAME = Dhcp6DxeGoogleTest
FILE_GUID = 1D2A4C65-38C8-4C2F-BB60-B5FA49625AA9
VERSION_STRING = 1.0
MODULE_TYPE = HOST_APPLICATION
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 AARCH64
#
[Sources]
Dhcp6DxeGoogleTest.cpp
Dhcp6IoGoogleTest.cpp
../Dhcp6Io.c
../Dhcp6Utility.c

[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
NetworkPkg/NetworkPkg.dec

[LibraryClasses]
GoogleTestLib
DebugLib
NetLib
PcdLib

[Protocols]
gEfiDhcp6ServiceBindingProtocolGuid

[Pcd]
gEfiNetworkPkgTokenSpaceGuid.PcdDhcp6UidType

[Guids]
gZeroGuid
Loading

0 comments on commit 5f36581

Please sign in to comment.