Cloudanix VulnDB

CVE-2022-28735

High · 7.8

CVSS

7.8

EPSS

0.3%

Published

Jul 20, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in the boot software on many Linux systems can let an attacker with physical access load unapproved programs during startup, undermining protections meant to keep the computer secure from the moment it turns on.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Full Compromise
Component
Application
Class
Authorization Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The shim_lock verifier in GRUB2 fails to restrict loaded files to kernel images on shim-enabled secure boot systems, permitting arbitrary non-kernel files, modules, and code to be executed during the boot process and thereby breaking the measured boot trust chain.

Why it matters to the business

Organizations relying on secure boot to protect against rootkits and boot-time malware face elevated risk of persistent system compromise, potentially requiring extended downtime for remediation and increasing exposure to supply-chain or physical-access attacks on critical infrastructure.

How an attack unfolds

An attacker with local access crafts or obtains a malicious GRUB2 module or configuration file, places it in a location accessible to the bootloader, and leverages the flawed shim_lock check to load and execute the unverified code before the kernel boots, establishing an early foothold that survives subsequent OS security controls.

How to fix it

Upgrade gnu grub2 to a version containing the corrected shim_lock verifier logic as soon as vendor packages become available; in the interim restrict physical and local administrative access, enable additional measured-boot technologies such as TPM-based attestation where feasible, and monitor upstream GRUB2 and shim project advisories for patch releases.

How to confirm the fix worked

After applying updates, verify that only properly signed kernel images are accepted by shim and that attempts to load non-kernel modules are rejected; re-test the boot chain with known-good and known-bad artifacts under secure boot enforcement.

Typical attack path

  1. Obtain local or physical access to the target system
  2. Place a malicious GRUB2 module or configuration artifact in an accessible filesystem location
  3. Trigger GRUB2 execution under shim secure boot
  4. Exploit the permissive shim_lock verifier to load the unverified artifact
  5. Execute attacker-controlled code in the pre-kernel environment

How to detect it

Review bootloader configuration files and module load history in system logs for unexpected non-kernel artifacts; examine GRUB2 environment variables and any evidence of unsigned modules being processed during boot; correlate with physical-access or local-privilege events.

What your security team should do

  • Prioritize patching gnu grub2 on all systems that rely on shim secure boot
  • Audit physical and privileged local access controls to reduce the attack surface
  • Incorporate GRUB2 version checks into configuration management and vulnerability scanning pipelines
  • Establish monitoring for upstream GRUB2 and shim security announcements

The record

The GRUB2's shim_lock verifier allows non-kernel files to be loaded on shim-powered secure boot systems. Allowing such files to be loaded may lead to unverified code and modules to be loaded in GRUB2 breaking the secure boot trust-chain.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 grub2-common 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-efi-aa64 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-efi-aa64-cdboot 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-efi-aa64-modules 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-efi-ia32 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-efi-ia32-cdboot 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-efi-ia32-modules 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-efi-x64 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-efi-x64-cdboot 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-efi-x64-modules 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-pc 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-pc-modules 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-ppc64le-modules 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-tools 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-tools-efi 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-tools-extra 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 grub2-tools-minimal 0 1:2.02-123.el8_6.8.alma
AlmaLinux:8 shim-aa64 0 15.6-1.el8.alma
AlmaLinux:8 shim-ia32 0 15.6-1.el8.alma
AlmaLinux:8 shim-unsigned-x64 0 15.6-1.el8.alma
AlmaLinux:8 shim-x64 0 15.6-1.el8.alma
AlmaLinux:9 grub2-common 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-efi-aa64 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-efi-aa64-cdboot 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-efi-aa64-modules 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-efi-x64 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-efi-x64-cdboot 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-efi-x64-modules 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-pc 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-pc-modules 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-ppc64le 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-ppc64le-modules 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-tools 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-tools-efi 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-tools-extra 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 grub2-tools-minimal 0 1:2.06-27.el9_0.7.alma
AlmaLinux:9 shim-aa64 0 15.6-1.el9.alma
AlmaLinux:9 shim-unsigned-x64 0 15.6-1.el9.alma
AlmaLinux:9 shim-x64 0 15.6-1.el9.alma
Debian:11 grub2 0 2.06-3~deb11u1
Debian:12 grub2 0 2.06-3
Debian:13 grub2 0 2.06-3
Red Hat:enterprise_linux:8::baseos grub2 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-common 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-debuginfo 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-debugsource 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-efi-aa64 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-efi-aa64-cdboot 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-efi-aa64-modules 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-efi-ia32 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-efi-ia32-cdboot 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-efi-ia32-modules 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-efi-x64 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-efi-x64-cdboot 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-efi-x64-modules 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-pc 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-pc-modules 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-ppc64le 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-ppc64le-modules 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-tools 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-tools-debuginfo 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-tools-efi 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-tools-efi-debuginfo 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-tools-extra 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-tools-extra-debuginfo 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-tools-minimal 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos grub2-tools-minimal-debuginfo 0 1:2.02-123.el8_6.8
Red Hat:enterprise_linux:8::baseos shim 0 0:15.6-1.el8
Red Hat:enterprise_linux:8::baseos shim-aa64 0 0:15.6-1.el8
Red Hat:enterprise_linux:8::baseos shim-ia32 0 0:15.6-1.el8
Red Hat:enterprise_linux:8::baseos shim-x64 0 0:15.6-1.el8
Red Hat:enterprise_linux:8::crb shim-unsigned-x64 0 0:15.6-1.el8
Red Hat:enterprise_linux:9::baseos grub2 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-common 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-debuginfo 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-debugsource 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-efi-aa64 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-efi-aa64-cdboot 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-efi-aa64-modules 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-efi-x64 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-efi-x64-cdboot 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-efi-x64-modules 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-emu-debuginfo 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-pc 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-pc-modules 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-ppc64le 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-ppc64le-modules 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-tools 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-tools-debuginfo 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-tools-efi 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-tools-efi-debuginfo 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-tools-extra 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-tools-extra-debuginfo 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-tools-minimal 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos grub2-tools-minimal-debuginfo 0 1:2.06-27.el9_0.7
Red Hat:enterprise_linux:9::baseos shim 0 0:15.6-1.el9
Red Hat:enterprise_linux:9::baseos shim-aa64 0 0:15.6-1.el9
Red Hat:enterprise_linux:9::baseos shim-x64 0 0:15.6-1.el9
Red Hat:enterprise_linux:9::crb shim-unsigned-x64 0 0:15.6-1.el9
Red Hat:rhel_e4s:8.1::baseos grub2 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-common 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-debuginfo 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-debugsource 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-efi-aa64-modules 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-efi-ia32 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-efi-ia32-cdboot 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-efi-ia32-modules 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-efi-x64 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-efi-x64-cdboot 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-efi-x64-modules 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-pc 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-pc-modules 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-ppc64le 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-ppc64le-modules 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-tools 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-tools-debuginfo 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-tools-efi 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-tools-efi-debuginfo 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-tools-extra 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-tools-extra-debuginfo 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-tools-minimal 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos grub2-tools-minimal-debuginfo 0 1:2.02-87.el8_1.10
Red Hat:rhel_e4s:8.1::baseos shim 0 0:15.6-1.el8
Red Hat:rhel_e4s:8.1::baseos shim-ia32 0 0:15.6-1.el8
Red Hat:rhel_e4s:8.1::baseos shim-x64 0 0:15.6-1.el8
Red Hat:rhel_eus:8.2::baseos grub2 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-common 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-debuginfo 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-debugsource 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-efi-aa64 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-efi-aa64-cdboot 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-efi-aa64-modules 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-efi-ia32 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-efi-ia32-cdboot 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-efi-ia32-modules 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-efi-x64 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-efi-x64-cdboot 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-efi-x64-modules 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-pc 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-pc-modules 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-ppc64le 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-ppc64le-modules 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-tools 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-tools-debuginfo 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-tools-efi 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-tools-efi-debuginfo 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-tools-extra 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-tools-extra-debuginfo 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-tools-minimal 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos grub2-tools-minimal-debuginfo 0 1:2.02-87.el8_2.10
Red Hat:rhel_eus:8.2::baseos shim 0 0:15.6-1.el8
Red Hat:rhel_eus:8.2::baseos shim-aa64 0 0:15.6-1.el8
Red Hat:rhel_eus:8.2::baseos shim-ia32 0 0:15.6-1.el8
Red Hat:rhel_eus:8.2::baseos shim-x64 0 0:15.6-1.el8
Red Hat:rhel_eus:8.2::crb shim-unsigned-x64 0 0:15.6-1.el8
Red Hat:rhel_eus:8.4::baseos grub2 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-common 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-debuginfo 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-debugsource 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-efi-aa64 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-efi-aa64-cdboot 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-efi-aa64-modules 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-efi-ia32 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-efi-ia32-cdboot 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-efi-ia32-modules 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-efi-x64 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-efi-x64-cdboot 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-efi-x64-modules 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-pc 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-pc-modules 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-ppc64le 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-ppc64le-modules 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-tools 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-tools-debuginfo 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-tools-efi 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-tools-efi-debuginfo 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-tools-extra 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-tools-extra-debuginfo 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-tools-minimal 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos grub2-tools-minimal-debuginfo 0 1:2.02-99.el8_4.9
Red Hat:rhel_eus:8.4::baseos shim 0 0:15.6-1.el8
Red Hat:rhel_eus:8.4::baseos shim-aa64 0 0:15.6-1.el8
Red Hat:rhel_eus:8.4::baseos shim-ia32 0 0:15.6-1.el8
Red Hat:rhel_eus:8.4::baseos shim-x64 0 0:15.6-1.el8
Red Hat:rhel_eus:8.4::crb shim-unsigned-x64 0 0:15.6-1.el8
Rocky Linux:8 grub2 0 1:2.02-123.el8_6.8
Rocky Linux:8 mokutil 0 1:0.3.0-11.el8_6.1
Rocky Linux:8 shim 0 0:15.6-1.el8
Rocky Linux:8 shim-unsigned-x64 0 0:15.6-1.el8
Rocky Linux:9 mokutil 0 2:0.4.0-8.el9_0.1
Rocky Linux:9 shim 0 0:15.6-1.el9
SUSE:Enterprise Storage 7 grub2 0 2.04-150200.9.63.2
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS grub2 0 2.04-150200.9.63.2
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS grub2 0 2.04-150200.9.63.2
SUSE:Linux Enterprise Micro 5.1 grub2 0 2.04-150300.3.5.1
SUSE:Linux Enterprise Micro 5.2 grub2 0 2.04-150300.22.20.2
SUSE:Linux Enterprise Module for Basesystem 15 SP3 grub2 0 2.04-150300.22.20.2
SUSE:Linux Enterprise Module for Basesystem 15 SP4 grub2 0 2.06-150400.11.5.2
SUSE:Linux Enterprise Module for Server Applications 15 SP3 grub2 0 2.04-150300.22.20.2
SUSE:Linux Enterprise Module for Server Applications 15 SP4 grub2 0 2.06-150400.11.5.2

Related vulnerabilities