NetworkPkg: Ip6Dxe: SECURITY PATCH CVE-2023-45232 Unit Tests
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4537 REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4538 Unit tests to confirm that.. Infinite loop when parsing unknown options in the Destination Options header and Infinite loop when parsing a PadN option in the Destination Options header ... have been patched This patch tests the following functions: Ip6IsOptionValid 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>
This commit is contained in:
40
NetworkPkg/Ip6Dxe/GoogleTest/Ip6OptionGoogleTest.h
Normal file
40
NetworkPkg/Ip6Dxe/GoogleTest/Ip6OptionGoogleTest.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/** @file
|
||||
Exposes the functions needed to test the Ip6Option module.
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef IP6_OPTION_HEADER_GOOGLE_TEST_H_
|
||||
#define IP6_OPTION_HEADER_GOOGLE_TEST_H_
|
||||
|
||||
#include <Uefi.h>
|
||||
#include "../Ip6Impl.h"
|
||||
|
||||
/**
|
||||
Validate the IP6 option format for both the packets we received
|
||||
and that we will transmit. It will compute the ICMPv6 error message fields
|
||||
if the option is malformatted.
|
||||
|
||||
@param[in] IpSb The IP6 service data.
|
||||
@param[in] Packet The to be validated packet.
|
||||
@param[in] Option The first byte of the option.
|
||||
@param[in] OptionLen The length of the whole option.
|
||||
@param[in] Pointer Identifies the octet offset within
|
||||
the invoking packet where the error was detected.
|
||||
|
||||
|
||||
@retval TRUE The option is properly formatted.
|
||||
@retval FALSE The option is malformatted.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
Ip6IsOptionValid (
|
||||
IN IP6_SERVICE *IpSb,
|
||||
IN NET_BUF *Packet,
|
||||
IN UINT8 *Option,
|
||||
IN UINT16 OptionLen,
|
||||
IN UINT32 Pointer
|
||||
);
|
||||
|
||||
#endif // __IP6_OPTION_HEADER_GOOGLE_TEST_H__
|
Reference in New Issue
Block a user