CVE-2026-53047

efi/capsule-loader: fix incorrect sizeof in phys array reallocation

MEDIUM
5.5
CVSS Score
Published: June 24, 2026 at 04:29 PM UTC
Updated: July 21, 2026 at 05:39 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: efi/capsule-loader: fix incorrect sizeof in phys array reallocation The krealloc() call for cap_info->phys in __efi_capsule_setup_info() uses sizeof(phys_addr_t *) instead of sizeof(phys_addr_t), which might be causing an undersized allocation. The allocation is also inconsistent with the initial array allocation in efi_capsule_open() that allocates one entry with sizeof(phys_addr_t), and the efi_capsule_write() function that stores phys_addr_t values (not pointers) via page_to_phys(). On 64-bit systems where sizeof(phys_addr_t) == sizeof(phys_addr_t *), this goes unnoticed. On 32-bit systems with PAE where phys_addr_t is 64-bit but pointers are 32-bit, this allocates half the required space, which might lead to a heap buffer overflow when storing physical addresses. This is similar to the bug fixed in commit fccfa646ef36 ("efi/capsule-loader: fix incorrect allocation size") which fixed the same issue at the initial allocation site.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 4.14.134.14.13 ≤ v < 4.154.15 ≤ v < 5.10.2584.15 ≤ v < 5.15.2094.15 ≤ v < 6.1.1754.15 ≤ v < 6.12.914.15 ≤ v < 6.18.334.15 ≤ v < 6.6.1414.15 ≤ v < 7.0.104.15 ≤ v < 7.14.15.1 ≤ v < 5.10.2585.11 ≤ v < 5.15.2095.16 ≤ v < 6.1.1756.13 ≤ v < 6.18.336.19 ≤ v < 7.0.106.2 ≤ v < 6.6.1416.7 ≤ v < 6.12.914.14.134.154.15 rc74.15 rc84.15 rc995a362c9a6892085f714eb6e31eea6a0e3aa93bff24c4d478013d82bd1b943df566fff3561d52864
Vendor states this is fixed in 22022cd8851703a58f67615a17bc7e9e8682785b (fixed)
Vendor states this is fixed in 48a428215782321b56956974f23593e40ce84b7a (fixed)
Vendor states this is fixed in 5e185330d902b12fe8e6eb4b8514b5d736d8d66d (fixed)
Vendor states this is fixed in 608e1f7bc9d171ab26c1fba288c97fc76363c27d (fixed)
Vendor states this is fixed in 67adde6bfdfd563a54b045d59aeb9a2d90c80697 (fixed)
Vendor states this is fixed in 8be69e9245f805566bac68ffc8574b64735fd996 (fixed)
Vendor states this is fixed in ab3f7098a3a27175b91cfc947950f5c26855801b (fixed)
Vendor states this is fixed in e0e6b14995fd6fa2c0df8c712d76ab32f0694c31 (fixed)
Vendor states this is fixed in 4.15 (unaffected)
Vendor states this is fixed in 5.10.258 (unaffected)
Vendor states this is fixed in 5.15.209 (unaffected)
Vendor states this is fixed in 6.1.175 (unaffected)
Vendor states this is fixed in 6.12.91 (unaffected)
Vendor states this is fixed in 6.18.33 (unaffected)
Vendor states this is fixed in 6.6.141 (unaffected)
Vendor states this is fixed in 7.0.10 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card