Cloudanix VulnDB

CVE-2022-28736

High · 7.8

CVSS

7.8

EPSS

0.3%

Published

Jul 20, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A problem in the program that starts your computer can let someone who already has access run their own programs or steal information during startup.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Full Compromise
Component
Application
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free in grub_cmd_chainloader() triggered by repeated chainloader invocations allows memory reuse that can expose sensitive data or enable arbitrary code execution when an attacker influences GRUB2 memory layout.

Why it matters to the business

Compromise of the bootloader can give an attacker persistent control over system startup, enabling full machine takeover, data theft, or installation of boot-level malware across all affected GNU GRUB2 deployments; low EPSS and no KEV listing reduce immediate external risk but local impact remains severe.

How an attack unfolds

An attacker with local access invokes the chainloader command multiple times while manipulating GRUB2 memory allocations to trigger the use-after-free, then leverages the resulting dangling pointer for information disclosure or to execute arbitrary code during the boot process.

How to fix it

Upgrade GNU GRUB2 to a version that resolves the use-after-free in grub_cmd_chainloader(); until a fixed release is available, restrict use of the chainloader command and limit local access to boot configuration files.

How to confirm the fix worked

Confirm GRUB2 version is updated past the vulnerable release, review boot scripts for repeated chainloader usage, and test that multiple chainloader invocations no longer produce memory corruption indicators in debug builds.

Typical attack path

  1. Obtain local or physical access to a system using GNU GRUB2
  2. Modify or script boot configuration to execute chainloader repeatedly
  3. Control memory allocation patterns to trigger the use-after-free
  4. Reuse freed memory for code execution or data exfiltration at boot time

How to detect it

Examine GRUB2 debug logs or console output for repeated chainloader command execution; inspect memory dumps or core files from boot failures for signs of freed-memory reuse; correlate with any local user activity that alters boot entries.

What your security team should do

  • Prioritize patching GNU GRUB2 on all affected systems once fixed packages are released
  • Audit bootloader configurations to remove or restrict chainloader usage where possible
  • Enforce least-privilege access to boot media and configuration files
  • Monitor for new GRUB2 releases and update EPSS/KEV status tracking

The record

There's a use-after-free vulnerability in grub_cmd_chainloader() function; The chainloader command is used to boot up operating systems that doesn't support multiboot and do not have direct support from GRUB2. When executing chainloader more than once a use-after-free vulnerability is triggered. If an attacker can control the GRUB2's memory allocation pattern sensitive data may be exposed and arbitrary code execution can be achieved.

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 6 grub2 0 2.02-150100.123.12.2
SUSE:Enterprise Storage 7 grub2 0 2.04-150200.9.63.2
SUSE:HPE Helion OpenStack 8 grub2 0 2.02-137.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS grub2 0 2.02-150100.123.12.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS grub2 0 2.02-150100.123.12.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 High Performance Computing 15-ESPOS grub2 0 2.02-150000.122.12.2
SUSE:Linux Enterprise High Performance Computing 15-LTSS grub2 0 2.02-150000.122.12.2

Related vulnerabilities