audk/NetworkPkg/Ip6Dxe
Doug Flick 4c4ceb2ceb NetworkPkg: SECURITY PATCH CVE-2023-45237
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4542

Bug Overview:
PixieFail Bug #9
CVE-2023-45237
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)

Use of a Weak PseudoRandom Number Generator

Change Overview:

Updates all Instances of NET_RANDOM (NetRandomInitSeed ()) to either

>
> EFI_STATUS
> EFIAPI
> PseudoRandomU32 (
>  OUT UINT32  *Output
>  );
>

or (depending on the use case)

>
> EFI_STATUS
> EFIAPI
> PseudoRandom (
>  OUT  VOID   *Output,
>  IN   UINTN  OutputLength
>  );
>

This is because the use of

Example:

The following code snippet PseudoRandomU32 () function is used:

>
> UINT32         Random;
>
> Status = PseudoRandomU32 (&Random);
> if (EFI_ERROR (Status)) {
>   DEBUG ((DEBUG_ERROR, "%a failed to generate random number: %r\n",
__func__, Status));
>   return Status;
> }
>

This also introduces a new PCD to enable/disable the use of the
secure implementation of algorithms for PseudoRandom () and
instead depend on the default implementation. This may be required for
some platforms where the UEFI Spec defined algorithms are not available.

>
> PcdEnforceSecureRngAlgorithms
>

If the platform does not have any one of the UEFI defined
secure RNG algorithms then the driver will assert.

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>
2024-05-24 15:48:52 +00:00
..
GoogleTest NetworkPkg: Ip6Dxe: SECURITY PATCH CVE-2023-45232 Unit Tests 2024-02-06 19:24:26 +00:00
ComponentName.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Common.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Common.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Config.vfr NetworkPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:15 -07:00
Ip6ConfigImpl.c NetworkPkg: SECURITY PATCH CVE-2023-45237 2024-05-24 15:48:52 +00:00
Ip6ConfigImpl.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6ConfigNv.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6ConfigNv.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Driver.c NetworkPkg: SECURITY PATCH CVE-2023-45237 2024-05-24 15:48:52 +00:00
Ip6Driver.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Dxe.inf NetworkPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:15 -07:00
Ip6Dxe.uni NetworkPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:15 -07:00
Ip6DxeExtra.uni NetworkPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:15 -07:00
Ip6DxeStrings.uni NetworkPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:15 -07:00
Ip6Icmp.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Icmp.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6If.c NetworkPkg: SECURITY PATCH CVE-2023-45237 2024-05-24 15:48:52 +00:00
Ip6If.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Impl.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Impl.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Input.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Input.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Mld.c NetworkPkg: SECURITY PATCH CVE-2023-45237 2024-05-24 15:48:52 +00:00
Ip6Mld.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Nd.c NetworkPkg: SECURITY PATCH CVE-2023-45237 2024-05-24 15:48:52 +00:00
Ip6Nd.h NetworkPkg: SECURITY PATCH CVE-2023-45237 2024-05-24 15:48:52 +00:00
Ip6NvData.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Option.c NetworkPkg: Ip6Dxe: SECURITY PATCH CVE-2023-45232 Patch 2024-02-06 19:24:26 +00:00
Ip6Option.h NetworkPkg: Ip6Dxe: SECURITY PATCH CVE-2023-45232 Patch 2024-02-06 19:24:26 +00:00
Ip6Output.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Output.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Route.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ip6Route.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00