CVE-2023-40547

Description

A remote code execution vulnerability was found in Shim. The Shim boot support trusts attacker-controlled values when parsing an HTTP response. This flaw allows an attacker to craft a specific malicious HTTP request, leading to a completely controlled out-of-bounds write primitive and complete system compromise. This flaw is only exploitable during the early boot phase, an attacker needs to perform a Man-in-the-Middle or compromise the boot server to be able to exploit this vulnerability successfully.

Statement

This flaw is only exploitable when the machine is booting UEFI through the network. During startup, before loading a local boot image, Shim checks whether the system is configured to support network booting. If the check succeeds, Shim attempts to load the bootable image from the boot's previously configured server using the HTTP protocol, which exposes the system to the vulnerability described by this CVE.

Mitigation

If a system isn’t required to boot from the network, configure the server’s boot order to disable entirely or skip the network boot.

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score8.38.3N/A
Attack VectorAdjacent NetworkAdjacent NetworkN/A
Attack ComplexityHighHighN/A
Privileges RequiredNoneNoneN/A
User InteractionNoneNoneN/A
ScopeChangedChangedN/A
ConfidentialityHighHighN/A
Integrity ImpactHighHighN/A
Availability ImpactHighHighN/A

Vector

Red Hat: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

NVD: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

Red Hat CVSS v3 Score Explanation

In our view, the Attack Vector is more accurately "Adjacent", as an attacker would need a way to intercept and interject traffic between a target system and a legitimate boot server; this traffic is typically restricted to local networks or networks protected by other means, such as virtual private networks. For that same reason, we consider the attack complexity "High". The attacker must already possess a means of intercepting legitimate boot-related network traffic, a situation that could itself be exploited in many other ways. Finally, regarding scope, while the flaw does not directly compromise neighboring components such as disk encryption, the potential for misdirecting users to harvest credentials or other information exists, as does the potential to use this flaw as one in a chain, with the intent to persist a compromise across boots.

Understanding the Weakness (CWE)

Integrity

Technical Impact: Modify Memory; Execute Unauthorized Code or Commands

Write operations could cause memory corruption. In some cases, an adversary can modify control data such as return addresses in order to execute unexpected code.

Availability

Technical Impact: DoS: Crash, Exit, or Restart

Attempting to access out-of-range, invalid, or unauthorized memory could cause the product to crash.

Other

Technical Impact: Unexpected State

Subsequent write operations can produce undefined or unexpected results.

Acknowledgements

Red Hat would like to thank Bill Demirkapi (Microsoft Security Response Center) for reporting this issue.

Frequently Asked Questions

Want to get errata notifications? Sign up here.