Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker crafts malicious unsigned RPM
-
DeliveryDeliver package to victim (mirror/email/repo)
-
ExploitVictim runs rpm2cpio/rpm -qlvp on it
-
Executionhex2binv writes past 1-byte heap buffer
-
ImpactHeap corruption enables code execution or crash
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a victim to process an attacker-supplied, crafted unsigned RPM package using rpm tooling - specifically rpm2cpio, rpm2archive, or 'rpm -qlvp' - where RPMTAG_FILESIGNATURES is declared with the wrong header type to trigger the undersized hex2binv() allocation. Limiting factors: the attack is local (AV:L) and needs user interaction (UI:R) to run rpm against the malicious file; it does not require authentication or special privileges (PR:N). No non-default configuration is needed - merely inspecting an untrusted package is sufficient - which makes CI/build systems, package mirrors, and malware-analysis workflows the realistic exposure surface. Signature verification does not protect against this, since the overflow is triggered during header parsing of the unsigned package before/independent of validation. |
| Impact | The provided CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H, 7.1) frames this as a local, low-complexity, unauthenticated flaw that still requires user interaction - specifically, a user must invoke an rpm operation against an attacker-supplied package. The vector is internally consistent with the description: the 'attack' is delivered as a malicious file, and the payoff is memory corruption (I:H/A:H) with no confidentiality impact (C:N). No EPSS score, no CISA KEV listing, and no public POC are present in the supplied data, so there is no evidence of active exploitation; risk is driven by the ubiquity of rpm and the very common practice of inspecting untrusted packages with rpm2cpio, rpm2archive, or 'rpm -qlvp' (all explicitly named as reachable paths). The single realistic gating factor is UI:R - a victim must process the crafted package - which keeps this out of the worm/mass-exploitation tier despite affecting a core RHEL component across RHEL 6 through 10. Net: a genuine, patch-worthy priority for build/CI pipelines and analysts who examine untrusted RPMs, but not an emergency in the absence of KEV/EPSS/POC signals. One caveat: I:H for a heap overflow assumes memory corruption can be steered toward code execution; the description confirms an attacker-controlled out-of-bounds write but does not demonstrate reliable RCE, so treat the integrity impact as plausible rather than proven. |
| Exploit ScenarioDerived | An attacker crafts an unsigned RPM in which RPMTAG_FILESIGNATURES is declared with an incorrect header type, so hex2binv() allocates a one-byte buffer and then writes attacker-chosen hex-decoded data past it. A developer, mirror operator, or malware analyst inspects the untrusted package with 'rpm -qlvp', rpm2cpio, or rpm2archive, triggering a heap-based buffer overflow that can crash the tool or corrupt heap memory for potential code execution. No public exploit code is identified at this time, and local access plus user interaction (running rpm against the file) are required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Heap-based buffer overflow in RPM's package-header parsing lets a crafted, unsigned RPM overwrite memory when a victim merely inspects it with rpm2cpio, rpm2archive, or 'rpm -qlvp', giving an attacker-controlled heap write past a one-byte allocation (CWE-122, assessed CVSS 3.1 7.1). Affected code ships with RPM as distributed in Red Hat Enterprise Linux 6, 7, 8, 9, and 10 as well as Red Hat Hardened Images, so build farms, CI pipelines, package mirrors, and malware-analysis hosts that routinely open untrusted packages are the realistic exposure surface. Exploitation is local (AV:L), low complexity (AC:L), and unauthenticated (PR:N) but requires user interaction (UI:R) to invoke an rpm tool against the malicious file; signature verification is no barrier because the overflow happens during header decoding. No public exploit identified at time of analysis.
RemediationAI
No vendor-released patch identified at time of analysis; track the Red Hat advisory (https://access.redhat.com/security/cve/CVE-2026-103242) and Bugzilla 2543866 for the fixed rpm build and update once published. Until then, the practical control is to stop feeding untrusted packages to RPM's own tooling: inspect and extract unknown RPMs inside a disposable, unprivileged sandbox - a throwaway container or VM with seccomp/namespace isolation and no host mounts - so a successful heap write cannot reach anything valuable, accepting the cost of reduced throughput and lost convenience for interactive debugging. Where feasible, substitute an extractor that does not use RPM's header decoder (for example libarchive/bsdtar or 7-Zip) to read cpio payloads; the trade-off is that these tools ignore RPM tag semantics and will not reproduce rpm -qlvp output or signature information, so they are unsuitable for package-integrity work. Restricting package intake to trusted, verified sources and quarantining files from mirrors, CI uploads, or malware samples before any rpm invocation remain sensible compensating measures, and note that relying on RPM's signature verification does not mitigate this issue because the overflow triggers during header parsing rather than during validation.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This is a heap-based buffer overflow (CWE-122) rooted in RPM's header tag handling: a crafted unsigned package's main header declares the RPMTAG_FILESIGNATURES tag with the wrong header type, so the length metadata that RPM trusts when sizing its decode buffer does not match the actual hex-encoded payload that follows. hex2binv(), the routine that converts the tag's hex string into binary, allocates a one-byte heap buffer based on that misleading declared size and then writes the attacker-chosen, hex-decoded content past the end of the allocation - a length the attacker fully controls. Because the flaw lives in the generic header parser rather than in signature or payload handling, it is reached by any code path that parses a package header: rpm2cpio, rpm2archive, and the query path 'rpm -qlvp'. The affected CPEs cover Red Hat Enterprise Linux 6 through 10 and Red Hat Hardened Images, i.e. every RPM generation that carries this header-decode logic, and the failure occurs before or independent of any package-signature validation.
Know when Rpm gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Delivered as a crafted file processed locally (AV:L, UI:R) with no privileges (PR:N); heap corruption yields integrity/availability impact (I:H/A:H) but no data disclosure (C:N).
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
A heap-based buffer overflow flaw was found in rpm. RPMTAG_FILESIGNATURES in a crafted, unsigned RPM package's main header is declared with the wrong header type, causing hex2binv() to allocate a one-byte buffer and then write the tag's attacker-controlled, hex-decoded content - of attacker-chosen length - past the end of that allocation. This is reachable via rpm2cpio, rpm2archive, and rpm -qlvp on an untrusted package.
Executive ViewAI
RPM package handling in Red Hat Enterprise Linux 6 through 10 and Red Hat Hardened Images is affected by a high-severity memory corruption flaw that can be triggered when untrusted packages are inspected on build farms, CI pipelines, package mirrors, and malware-analysis hosts. Because no vendor-released patch is available and these environments routinely open third-party RPMs, leadership should treat this as a priority exposure-reduction issue. No public exploit identified at time of analysis, but a successful attack could lead to code execution or service disruption on critical build and analysis infrastructure.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict or disable rpm2cpio, rpm2archive, and rpm -qlvp on untrusted RPMs; process untrusted packages only in isolated disposable sandboxes, VMs, or containers with no network, credentials, or shared storage; enforce least privilege; and monitor for anomalous rpm tool behavior.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.
Affected Products (CPE)CVE.org
A use-after-free flaw has been discovered in libcomps before version 0.1.10 in the way ObjMRTrees are merged. Rated high
Local Root Exploit via Configuration Dictionary in dnf5daemon-server before 5.1.17 allows a malicious user to impact Con
Integer overflow in RPM 4.12 and earlier allows remote attackers to execute arbitrary code via a crafted CPIO header in
Race condition in RPM 4.11.1 and earlier allows remote attackers to execute arbitrary code via a crafted RPM file whose
The headerVerifyInfo function in lib/header.c in RPM before 4.9.1.3 allows remote attackers to cause a denial of service
A directory traversal issue was found in reposync, a part of yum-utils, where reposync fails to sanitize paths in remote
Command injection in rpm enables an attacker to run arbitrary shell commands as the invoking user when a victim installs
Local attackers can achieve arbitrary code execution by tricking a user or automation into processing a crafted manifest
It was found that versions of rpm before 4.13.0.2 use temporary files with predictable names when installing an RPM. Rat
The headerLoad function in lib/header.c in RPM before 4.9.1.3 does not properly validate region tags, which allows user-
RPM before 4.9.1.3 does not properly validate region tags, which allows remote attackers to cause a denial of service (c
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. Rated high severity (CVSS 7
EUVD-2026-89790
GHSA-446c-w894-m822
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB