CVE-2026-78367
rpm: rpmbuild getTarSpec() crafted tar member name → macro injection
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · August 24, 2026
Updated · November 3, 2026
Description
A vulnerability was found in RPM's rpmbuild tarball processing. When processing a crafted source archive, the getTarSpec() function in tools/rpmbuild.cc passes an attacker-controlled tar archive member name to rpmExpand() as part of a %{basename:...} macro expression. A specially crafted .spec member name can therefore inject RPM macros, including Lua expressions, resulting in arbitrary code execution with the privileges of the user running rpmbuild. This can be exploited when a victim or automated build system processes an attacker-controlled source tarball using rpmbuild tarball mode (such as -ts, -ta, or -tb).
Statement
This issue is considered Moderate severity because, although successful exploitation can result in arbitrary code execution with the privileges of the rpmbuild process, exploitation requires an attacker to supply a specially crafted source tarball and have it processed by rpmbuild in tarball mode. The vulnerable code is not exposed as a network service and cannot be directly triggered remotely without this archive-processing workflow.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
Do not process untrusted tarballs with rpmbuild -ta/-tb/-ts. Extract and inspect archives first (reject member names containing }, %, or {), or build from a reviewed .spec outside tarball mode. Prefer isolated builders (mock/container) for any untrusted packaging related work.
CVSS / CWE
CVSS 3.1 · 7CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
CWE-94 · Improper Control of Generation of Code