CVE-2023-54057

Description

A stack buffer overflow vulnerability was found in the Linux kernel's AMD IOMMU driver. The parse_ivrs_acpihid() function uses sscanf() to parse the ivrs_acpihid kernel command-line parameter without specifying a field width limit. An overly long ACPI HID string can overflow the fixed-size acpiid buffer on the stack.

Statement

This flaw requires the ability to set kernel boot parameters, which typically requires root or physical access. The ivrs_acpihid parameter is used to manually specify ACPI device mappings for AMD IOMMU. Since kernel command-line parameters are controlled at boot time by privileged users, the attack surface is limited to scenarios where an attacker already has elevated access.

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 Score5.5N/AN/A
Attack VectorLocalN/AN/A
Attack ComplexityLowN/AN/A
Privileges RequiredLowN/AN/A
User InteractionNoneN/AN/A
ScopeUnchangedN/AN/A
ConfidentialityNoneN/AN/A
Integrity ImpactNoneN/AN/A
Availability ImpactHighN/AN/A

Vector

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

Understanding the Weakness (CWE)

Integrity,Confidentiality,Availability

Technical Impact: Modify Memory; Execute Unauthorized Code or Commands

Buffer overflows often can be used to execute arbitrary code, which is usually outside the scope of the product's implicit security policy. This can often be used to subvert any other security service.

Availability

Technical Impact: Modify Memory; DoS: Crash, Exit, or Restart; DoS: Resource Consumption (CPU)

Buffer overflows generally lead to crashes. Other attacks leading to lack of availability are possible, including putting the product into an infinite loop.

Frequently Asked Questions

Want to get errata notifications? Sign up here.