CVE-2024-38796
Medium · 5.9CVSS
5.9
EPSS
0.4%
Published
Sep 27, 2024
CISA due date
—
Cloudanix analysis
A flaw in container software could let someone nearby corrupt memory and potentially disrupt or take over systems running containers.
- Exploitation
- Adjacent Network
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Other
- Component
- Firmware
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits memory corruption via an integer overflow in PeCoffLoaderRelocateImage during PE/COFF image relocation when triggered over an adjacent network, potentially resulting in loss of confidentiality, integrity, and availability.
Why it matters to the business
Organizations running affected Podman versions face risk of system instability, unauthorized code execution, or service outages that could disrupt container operations, though the requirement for adjacent network access and low exploitation probability limit immediate widespread impact.
How an attack unfolds
An attacker on the same local network segment crafts a malicious PE/COFF image and delivers it to a vulnerable Podman instance; during image loading the relocation routine overflows a buffer, corrupting memory and enabling further attacker-controlled actions.
How to fix it
Upgrade github.com/containers/podman/v4 (Go) to version 4.0.3 or later; where immediate upgrade is not feasible, restrict adjacent network exposure of Podman services and apply compensating controls such as network segmentation.
How to confirm the fix worked
Confirm the installed Podman version meets or exceeds 4.0.3, retest image import and relocation workflows with known-good binaries, and verify that error paths related to relocation no longer produce memory corruption indicators.
Typical attack path
- Locate Podman instances reachable on the local network segment
- Prepare a malformed PE/COFF binary that triggers the relocation overflow
- Transmit the image to the target Podman process
- Force image relocation to activate the corruption
- Leverage corrupted memory for code execution or denial of service
How to detect it
Search Podman and system logs for relocation errors, memory allocation failures, or unexpected crashes during image processing; monitor adjacent network traffic for unusual volumes of PE/COFF files directed at Podman endpoints.
What your security team should do
- Apply the 4.0.3 update at the earliest maintenance window given the integrity impact
- Segment Podman hosts from untrusted adjacent networks
- Add Podman version checks to asset inventories and vulnerability scanners
- Review container image sources to reduce exposure to untrusted binaries
The record
EDK2 contains a vulnerability in the PeCoffLoaderRelocateImage(). An Attacker may cause memory corruption due to an overflow via an adjacent network. A successful exploit of this vulnerability may lead to a loss of Confidentiality, Integrity, and/or Availability.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | edk2-aarch64 | 0 | 20220126gitbb1bba3d77-13.el8_10.4 |
| AlmaLinux:8 | edk2-ovmf | 0 | 20220126gitbb1bba3d77-13.el8_10.4 |
| AlmaLinux:9 | edk2-aarch64 | 0 | 20240524-6.el9_5.3 |
| AlmaLinux:9 | edk2-ovmf | 0 | 20240524-6.el9_5.3 |
| AlmaLinux:9 | edk2-tools | 0 | 20240524-6.el9_5.3 |
| AlmaLinux:9 | edk2-tools-doc | 0 | 20240524-6.el9_5.3 |
| Debian:11 | edk2 | 0 | No fix |
| Debian:12 | edk2 | 0 | No fix |
| Debian:13 | edk2 | 0 | No fix |
| Debian:13 | edk2 | 0 | 2024.08-3 |
| Red Hat:enterprise_linux:8::appstream | edk2 | 0 | 0:20220126gitbb1bba3d77-13.el8_10.4 |
| Red Hat:enterprise_linux:8::appstream | edk2-aarch64 | 0 | 0:20220126gitbb1bba3d77-13.el8_10.4 |
| Red Hat:enterprise_linux:8::appstream | edk2-ovmf | 0 | 0:20220126gitbb1bba3d77-13.el8_10.4 |
| Red Hat:enterprise_linux:9::appstream | edk2 | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::appstream | edk2-aarch64 | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::appstream | edk2-debugsource | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::appstream | edk2-ovmf | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::appstream | edk2-tools | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::appstream | edk2-tools-debuginfo | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::appstream | edk2-tools-doc | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::crb | edk2 | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::crb | edk2-aarch64 | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::crb | edk2-debugsource | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::crb | edk2-ovmf | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::crb | edk2-tools | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::crb | edk2-tools-debuginfo | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:enterprise_linux:9::crb | edk2-tools-doc | 0 | 0:20240524-6.el9_5.3 |
| Red Hat:rhel_aus:8.2::appstream | edk2 | 0 | 0:20190829git37eef91017ad-9.el8_2.6 |
| Red Hat:rhel_aus:8.2::appstream | edk2-ovmf | 0 | 0:20190829git37eef91017ad-9.el8_2.6 |
| Red Hat:rhel_aus:8.4::appstream | edk2 | 0 | 0:20200602gitca407c7246bf-4.el8_4.7 |
| Red Hat:rhel_aus:8.4::appstream | edk2-ovmf | 0 | 0:20200602gitca407c7246bf-4.el8_4.7 |
| Red Hat:rhel_aus:8.6::appstream | edk2 | 0 | 0:20220126gitbb1bba3d77-2.el8_6.7 |
| Red Hat:rhel_aus:8.6::appstream | edk2-ovmf | 0 | 0:20220126gitbb1bba3d77-2.el8_6.7 |
| Red Hat:rhel_e4s:8.4::appstream | edk2 | 0 | 0:20200602gitca407c7246bf-4.el8_4.7 |
| Red Hat:rhel_e4s:8.4::appstream | edk2-ovmf | 0 | 0:20200602gitca407c7246bf-4.el8_4.7 |
| Red Hat:rhel_e4s:8.6::appstream | edk2 | 0 | 0:20220126gitbb1bba3d77-2.el8_6.7 |
| Red Hat:rhel_e4s:8.6::appstream | edk2-aarch64 | 0 | 0:20220126gitbb1bba3d77-2.el8_6.7 |
| Red Hat:rhel_e4s:8.6::appstream | edk2-ovmf | 0 | 0:20220126gitbb1bba3d77-2.el8_6.7 |
| Red Hat:rhel_e4s:9.0::appstream | edk2 | 0 | 0:20220126gitbb1bba3d77-3.el9_0.6 |
| Red Hat:rhel_e4s:9.0::appstream | edk2-aarch64 | 0 | 0:20220126gitbb1bba3d77-3.el9_0.6 |
| Red Hat:rhel_e4s:9.0::appstream | edk2-ovmf | 0 | 0:20220126gitbb1bba3d77-3.el9_0.6 |
| Red Hat:rhel_eus:8.8::appstream | edk2 | 0 | 0:20220126gitbb1bba3d77-4.el8_8.7 |
| Red Hat:rhel_eus:8.8::appstream | edk2-aarch64 | 0 | 0:20220126gitbb1bba3d77-4.el8_8.7 |
| Red Hat:rhel_eus:8.8::appstream | edk2-ovmf | 0 | 0:20220126gitbb1bba3d77-4.el8_8.7 |
| Red Hat:rhel_eus:9.2::appstream | edk2 | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::appstream | edk2-aarch64 | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::appstream | edk2-debugsource | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::appstream | edk2-ovmf | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::appstream | edk2-tools | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::appstream | edk2-tools-debuginfo | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::appstream | edk2-tools-doc | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::crb | edk2 | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::crb | edk2-aarch64 | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::crb | edk2-debugsource | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::crb | edk2-ovmf | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::crb | edk2-tools | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::crb | edk2-tools-debuginfo | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.2::crb | edk2-tools-doc | 0 | 0:20221207gitfff6d81270b5-9.el9_2.5 |
| Red Hat:rhel_eus:9.4::appstream | edk2 | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::appstream | edk2-aarch64 | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::appstream | edk2-debugsource | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::appstream | edk2-ovmf | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::appstream | edk2-tools | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::appstream | edk2-tools-debuginfo | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::appstream | edk2-tools-doc | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::crb | edk2 | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::crb | edk2-aarch64 | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::crb | edk2-debugsource | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::crb | edk2-ovmf | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::crb | edk2-tools | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::crb | edk2-tools-debuginfo | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_eus:9.4::crb | edk2-tools-doc | 0 | 0:20231122-6.el9_4.6 |
| Red Hat:rhel_tus:8.4::appstream | edk2 | 0 | 0:20200602gitca407c7246bf-4.el8_4.7 |
| Red Hat:rhel_tus:8.4::appstream | edk2-ovmf | 0 | 0:20200602gitca407c7246bf-4.el8_4.7 |
| Red Hat:rhel_tus:8.6::appstream | edk2 | 0 | 0:20220126gitbb1bba3d77-2.el8_6.7 |
| Red Hat:rhel_tus:8.6::appstream | edk2-ovmf | 0 | 0:20220126gitbb1bba3d77-2.el8_6.7 |
| Rocky Linux:9 | edk2 | 0 | 0:20240524-6.el9_5.3 |
| Ubuntu:20.04:LTS | edk2 | 0 | No fix |
| Ubuntu:22.04:LTS | edk2 | 0 | No fix |
| Ubuntu:22.04:LTS | edk2 | 0 | 2022.02-3ubuntu0.22.04.4 |
| Ubuntu:24.04:LTS | edk2 | 0 | No fix |
| Ubuntu:24.04:LTS | edk2 | 0 | 2024.02-2ubuntu0.6 |
| Ubuntu:24.10 | edk2 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | edk2 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | edk2 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | edk2 | 0 | No fix |
Related vulnerabilities
- CVE-2024-1298 EDK2 contains a vulnerability when S3 sleep is activated where an Attacker may cause a… Also affects edk2-aarch64
- CVE-2021-23840 Calls to EVP_CipherUpdate, EVP_EncryptUpdate and EVP_DecryptUpdate may overflow the… Also affects edk2-ovmf
- CVE-2024-6119 Issue summary: Applications performing certificate name checks (e.g., TLS clients… Also affects edk2-aarch64
- CVE-2023-6237 Issue summary: Checking excessively long invalid RSA public keys may take a long time. Also affects edk2-aarch64
- CVE-2024-0727 Issue summary: Processing a maliciously formatted PKCS12 file may lead OpenSSL to crash… Also affects edk2-aarch64
- CVE-2023-6129 Issue summary: The POLY1305 MAC (message authentication code) implementation contains a… Also affects edk2-aarch64
- CVE-2023-48733 An insecure default to allow UEFI Shell in EDK2 was left enabled in Ubuntu's EDK2. Also affects edk2
- CVE-2019-11098 Insufficient input validation in MdeModulePkg in EDKII may allow an unauthenticated user… Also affects edk2