{"id":"CVE-2026-53047","state":"PUBLISHED","title":"efi/capsule-loader: fix incorrect sizeof in phys array reallocation","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nefi/capsule-loader: fix incorrect sizeof in phys array reallocation\n\nThe krealloc() call for cap_info->phys in __efi_capsule_setup_info() uses\nsizeof(phys_addr_t *) instead of sizeof(phys_addr_t), which might be\ncausing an undersized allocation.\n\nThe allocation is also inconsistent with the initial array allocation in\nefi_capsule_open() that allocates one entry with sizeof(phys_addr_t),\nand the efi_capsule_write() function that stores phys_addr_t values (not\npointers) via page_to_phys().\n\nOn 64-bit systems where sizeof(phys_addr_t) == sizeof(phys_addr_t *), this\ngoes unnoticed. On 32-bit systems with PAE where phys_addr_t is 64-bit but\npointers are 32-bit, this allocates half the required space, which might\nlead to a heap buffer overflow when storing physical addresses.\n\nThis is similar to the bug fixed in commit fccfa646ef36 (\"efi/capsule-loader:\nfix incorrect allocation size\") which fixed the same issue at the initial\nallocation site.","publishedAt":"2026-06-24T16:29:53.491Z","updatedAt":"2026-06-24T16:29:53.491Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"22022cd8851703a58f67615a17bc7e9e8682785b","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"67adde6bfdfd563a54b045d59aeb9a2d90c80697","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"608e1f7bc9d171ab26c1fba288c97fc76363c27d","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"8be69e9245f805566bac68ffc8574b64735fd996","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"5e185330d902b12fe8e6eb4b8514b5d736d8d66d","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"e0e6b14995fd6fa2c0df8c712d76ab32f0694c31","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"ab3f7098a3a27175b91cfc947950f5c26855801b","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"48a428215782321b56956974f23593e40ce84b7a","versionType":"git"},{"version":"95a362c9a6892085f714eb6e31eea6a0e3aa93bf","status":"affected","versionType":"git"},{"version":"4.14.13","status":"affected","lessThan":"4.15","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/firmware/efi/capsule-loader.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.15","versionType":"semver"},{"version":"5.10.258","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.209","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.141","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.91","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.33","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.10","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/firmware/efi/capsule-loader.c"]}],"references":["https://git.kernel.org/stable/c/22022cd8851703a58f67615a17bc7e9e8682785b","https://git.kernel.org/stable/c/67adde6bfdfd563a54b045d59aeb9a2d90c80697","https://git.kernel.org/stable/c/608e1f7bc9d171ab26c1fba288c97fc76363c27d","https://git.kernel.org/stable/c/8be69e9245f805566bac68ffc8574b64735fd996","https://git.kernel.org/stable/c/5e185330d902b12fe8e6eb4b8514b5d736d8d66d","https://git.kernel.org/stable/c/e0e6b14995fd6fa2c0df8c712d76ab32f0694c31","https://git.kernel.org/stable/c/ab3f7098a3a27175b91cfc947950f5c26855801b","https://git.kernel.org/stable/c/48a428215782321b56956974f23593e40ce84b7a"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:16.098Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/53xxx/CVE-2026-53047.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53047","state":"PUBLISHED","datePublished":"2026-06-24T16:29:53.491Z","dateUpdated":"2026-06-24T16:29:53.491Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-06-09T07:44:35.381Z"},"containers":{"cna":{"title":"efi/capsule-loader: fix incorrect sizeof in phys array reallocation","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nefi/capsule-loader: fix incorrect sizeof in phys array reallocation\n\nThe krealloc() call for cap_info->phys in __efi_capsule_setup_info() uses\nsizeof(phys_addr_t *) instead of sizeof(phys_addr_t), which might be\ncausing an undersized allocation.\n\nThe allocation is also inconsistent with the initial array allocation in\nefi_capsule_open() that allocates one entry with sizeof(phys_addr_t),\nand the efi_capsule_write() function that stores phys_addr_t values (not\npointers) via page_to_phys().\n\nOn 64-bit systems where sizeof(phys_addr_t) == sizeof(phys_addr_t *), this\ngoes unnoticed. On 32-bit systems with PAE where phys_addr_t is 64-bit but\npointers are 32-bit, this allocates half the required space, which might\nlead to a heap buffer overflow when storing physical addresses.\n\nThis is similar to the bug fixed in commit fccfa646ef36 (\"efi/capsule-loader:\nfix incorrect allocation size\") which fixed the same issue at the initial\nallocation site."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"22022cd8851703a58f67615a17bc7e9e8682785b","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"67adde6bfdfd563a54b045d59aeb9a2d90c80697","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"608e1f7bc9d171ab26c1fba288c97fc76363c27d","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"8be69e9245f805566bac68ffc8574b64735fd996","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"5e185330d902b12fe8e6eb4b8514b5d736d8d66d","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"e0e6b14995fd6fa2c0df8c712d76ab32f0694c31","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"ab3f7098a3a27175b91cfc947950f5c26855801b","versionType":"git"},{"version":"f24c4d478013d82bd1b943df566fff3561d52864","status":"affected","lessThan":"48a428215782321b56956974f23593e40ce84b7a","versionType":"git"},{"version":"95a362c9a6892085f714eb6e31eea6a0e3aa93bf","status":"affected","versionType":"git"},{"version":"4.14.13","status":"affected","lessThan":"4.15","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/firmware/efi/capsule-loader.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.15","versionType":"semver"},{"version":"5.10.258","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.209","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.141","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.91","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.33","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.10","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/firmware/efi/capsule-loader.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/22022cd8851703a58f67615a17bc7e9e8682785b"},{"url":"https://git.kernel.org/stable/c/67adde6bfdfd563a54b045d59aeb9a2d90c80697"},{"url":"https://git.kernel.org/stable/c/608e1f7bc9d171ab26c1fba288c97fc76363c27d"},{"url":"https://git.kernel.org/stable/c/8be69e9245f805566bac68ffc8574b64735fd996"},{"url":"https://git.kernel.org/stable/c/5e185330d902b12fe8e6eb4b8514b5d736d8d66d"},{"url":"https://git.kernel.org/stable/c/e0e6b14995fd6fa2c0df8c712d76ab32f0694c31"},{"url":"https://git.kernel.org/stable/c/ab3f7098a3a27175b91cfc947950f5c26855801b"},{"url":"https://git.kernel.org/stable/c/48a428215782321b56956974f23593e40ce84b7a"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-06-24T16:29:53.491Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"5.10.258"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"5.15.209"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.1.175"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.6.141"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.12.91"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.18.33"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"7.0.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"7.1"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14.13"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}