Skip to main content
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Deliver crafted archive to local libarchive app
  2. Exploit
    User opens/processes the input
  3. Execution
    Trigger self-copy use-after-free in archive_entry_copy_mac_metadata()
  4. Impact
    Crash process or read uninitialized memory

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

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 local application built on libarchive to call archive_entry_copy_mac_metadata() with a source buffer that overlaps the entry's existing mac_metadata (a self-copy), since the original code frees entry->mac_metadata before the memcpy from that pointer. The attacker must be able to supply the input the application feeds to this function, and user interaction is required (UI:R) to make a local app process the malicious archive/metadata. Limiting factors: the vector is local (AV:L), the overlapping-buffer trigger makes it high-complexity (AC:H), impact is confined to a crash or disclosure of uninitialized memory (no code execution or integrity loss), and exploitation depends on the specific application's use of the Mac-metadata copy API rather than any default network-facing path.

Impact

This is a genuinely low-priority issue despite being a memory-corruption (use-after-free, CWE-416) flaw. The CVSS 3.1 vector (CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L, base 3.6) aligns well with the source evidence: the PR #3318 diff shows the bug is a self-copy use-after-free in archive_entry_copy_mac_metadata(), where entry->mac_metadata is freed before the memcpy, so it only misbehaves when the supplied source pointer overlaps the entry's own (already-freed) buffer. That is a narrow, application-dependent trigger, consistent with AC:H (high complexity) and AV:L (local - the attacker must get input into an application that calls this specific function). Impact is limited to a crash (A:L) or reading uninitialized/freed memory (C:L, info disclosure); there is no integrity impact (I:N) and no scope change (S:U). No EPSS score, no CISA KEV listing, and no public exploit were provided or found - the only GitHub artifact is the upstream fix plus a regression test, not a weaponized POC. The signals are consistent rather than conflicting: a low CVSS with no exploitation intelligence points to a real-but-minor defect, not an urgent threat. Note that affected-product data is vendor-centric (Red Hat CPEs/tags) while the actual vulnerable component is the independent upstream libarchive library - patch via the distro's updated libarchive package.

Exploit ScenarioDerived

A user is induced to process an attacker-influenced archive (or data stream) with a local application built on libarchive that invokes archive_entry_copy_mac_metadata() in a way that copies an entry's Mac metadata from a source pointer overlapping its own buffer. The freed-then-copied buffer causes a use-after-free, crashing the application (DoS) or exposing uninitialized memory contents. No public exploit code is known; the only related code is the upstream fix (libarchive PR #3318) and its regression test.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 16, 2026

Use-after-free in libarchive's archive_entry_copy_mac_metadata() function allows an attacker who can influence the input an application feeds that API to crash the linked application or cause it to read uninitialized heap memory, yielding a CVSS 3.1 base score of 3.6 (AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L). The flaw is not remotely reachable by default and requires the consuming application to perform a self-copy in which the source buffer overlaps the entry's existing mac_metadata pointer; it is a genuinely low-priority memory-safety issue with impact limited to denial of service and minor information disclosure, with no integrity or code-execution outcome. No public exploit code and no confirmed active exploitation were identified at time of analysis, and Red Hat has published an upstream fix (libarchive PR #3318) alongside its advisory and Bugzilla tracking entry.

RemediationAI

The upstream fix is available as GitHub pull request 3318 (upstream fix available via PR/commit; a released, tagged patched version was not independently confirmed from the supplied data), so the primary action is to update libarchive to a build that contains that change and to rebuild or restart any dynamically linked consumers - note that because libarchive is a shared library, patching it is not sufficient until long-running processes that loaded the vulnerable object are restarted. On Red Hat platforms, track the erratum associated with the advisory https://access.redhat.com/security/cve/CVE-2026-17591 and Bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2554209 and apply the vendor-supplied libarchive package update when it ships; Hardened Images and container base images must be rebuilt rather than patched in place. Until a patched package is deployed, the most targeted mitigation is to prevent the aliasing call pattern itself: audit application code that calls archive_entry_copy_mac_metadata() and guarantee the source pointer is never the entry's own mac_metadata buffer or a sub-range of it (copy into a separate staging buffer first), since this self-copy/overlap is the sole trigger, though the trade-off is added copy overhead and a code change in every affected consumer. A broader compensating control is to refuse or strip Mac metadata extended attributes when processing untrusted archives - for example, skip the mac_metadata assignment entirely in extraction tooling - which removes the attack surface but loses preservation of Apple-specific metadata on extraction and may break workflows that rely on it. Hardening the runtime (allocator randomization such as MALLOC_PERTURB_, ASLR, and reduced-privilege or sandboxed execution of archive-consuming processes) can make the uninitialized-memory disclosure less reliable and limits the blast radius of a crash, but these are defenses in depth and do not remediate the use-after-free; avoiding the overlapping-buffer call remains the only reliable pre-patch mitigation.

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

libarchive is the portable C library used by tar, bsdtar, pkg managers, backup tools, and many language runtimes to parse and create streaming archives; the archive_entry abstraction holds the metadata for a single archive member. archive_entry_copy_mac_metadata() is the setter used to attach Apple/Mac OS X extended-attribute metadata to an entry. The vulnerable code path corresponds to CWE-416 (Use After Free): the original implementation freed entry->mac_metadata before allocating the replacement buffer and copying the caller-supplied bytes with memcpy(entry->mac_metadata, p, s). When the source pointer p aliases the entry's own mac_metadata buffer (for example a full or partial self-copy such as copy+1 with length copy_size-1), the memcpy reads from memory that has just been released, producing a crash or disclosure of whatever now occupies that freed heap block. The upstream patch restructures the routine to allocate a fresh buffer, memcpy from p into it, and only then free the old pointer and swap in the new one, eliminating the use-after-free regardless of aliasing; a regression test (test_entry_mac_metadata_self_copy) was added to exercise exact self-copy and offset sub-range self-copy cases. Exploitation prerequisites align with the assessed vector AV:L/AC:H/PR:N/UI:R: the attacker must be able to supply the data an application passes to this function, the trigger depends on an overlapping-buffer (self-copy) call that is unusual in normal code paths - hence high attack complexity - and user interaction is required to induce a local application to process the crafted archive or metadata.

Know when Libarchive 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

Vendor (redhat) PRIMARY 3.6 LOW
AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L
vuln.today AI 3.6 LOW

Local, application-dependent self-copy trigger justifies AV:L and AC:H; no auth needed (PR:N) but user must process input (UI:R); impact limited to crash and uninitialized-memory read (C:L/A:L, I:N).

3.1 AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L
4.0 AV:L/AC:H/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

Attack Vector
Local
Attack Complexity
High
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
Low

DescriptionCVE.org

A flaw was found in libarchive. An attacker can cause a Denial of Service (DoS) or potential information disclosure due to a use-after-free vulnerability, which occurs when a program reads memory that has already been released. This issue arises when the archive_entry_copy_mac_metadata() function deallocates an internal buffer before completing a data copy. An attacker who can supply input to an application utilizing this function can trigger the flaw to crash the application or read uninitialized memory data.

Threat Intelligence Overview

Prevalence
High
libarchive bundled in most Linux/BSD distros, macOS, bsdtar, CMake and many tools
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
High

Priority Score

18
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Affected Products (CPE)CVE.org

cpe:2.3:a:red_hat:red_hat_enterprise_linux_10:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_enterprise_linux_6:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_enterprise_linux_7:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_enterprise_linux_8:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_enterprise_linux_9:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_hardened_images:*:*:*:*:*:*:*:*
CVE-2025-5914 HIGH POC
7.8 Jun 09

CVE-2025-5914 is an integer overflow vulnerability in libarchive's archive_read_format_rar_seek_data() function that lea

CVE-2024-37407 CRITICAL POC
9.1 Jun 08

Libarchive before 3.7.4 allows name out-of-bounds access when a ZIP archive has an empty-name file and mac-ext is enable

CVE-2016-5418 HIGH POC
7.5 Sep 21

The sandboxing code in libarchive 3.2.0 and earlier mishandles hardlink archive entries of non-zero data size, which mig

CVE-2016-4301 HIGH POC
7.8 Sep 21

Stack-based buffer overflow in the parse_device function in archive_read_support_format_mtree.c in libarchive before 3.2

CVE-2016-4302 HIGH POC
7.8 Sep 21

Heap-based buffer overflow in the parse_codes function in archive_read_support_format_rar.c in libarchive before 3.2.1 a

CVE-2016-4300 HIGH POC
7.8 Sep 21

Integer overflow in the read_SubStreamsInfo function in archive_read_support_format_7zip.c in libarchive before 3.2.1 al

CVE-2015-8931 HIGH POC
7.8 Sep 20

Multiple integer overflows in the (1) get_time_t_max and (2) get_time_t_min functions in archive_read_support_format_mtr

CVE-2024-48615 HIGH POC
7.5 Mar 28

Null Pointer Dereference vulnerability in libarchive 3.7.6 and earlier when running program bsdtar in function header_pa

CVE-2015-2304 MEDIUM POC
6.4 Mar 15

Absolute path traversal vulnerability in bsdcpio in libarchive 3.1.2 and earlier allows remote attackers to write to arb

CVE-2016-5844 MEDIUM POC
6.5 Sep 21

Integer overflow in the ISO parser in libarchive before 3.2.1 allows remote attackers to cause a denial of service (appl

CVE-2016-1541 HIGH
8.8 May 07

Heap-based buffer overflow in the zip_read_mac_metadata function in archive_read_support_format_zip.c in libarchive befo

CVE-2022-26280 MEDIUM POC
6.5 Mar 28

Libarchive v3.6.0 was discovered to contain an out-of-bounds read via the component zipx_lzma_alone_init. Rated medium s

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy