CVE-2026-17591: libarchive: use-after-free in MAC metadata copy causes DoS
LOWlibarchive has a use-after-free in archive_entry_copy_mac_metadata(). The function frees an internal buffer before it finishes copying, so a crafted archive can crash the application or expose uninitialized memory. The risk is low: CVSS is 3.6, the attack is local with high complexity, and the user has to open the archive. There is no public exploit, no Nuclei template, and no KEV listing, and EPSS and SSVC data are not available. The reach is wide, though. libarchive has 695 downstream dependents, 142 other CVEs in the same package, and an OpenSSF Scorecard of 5.4/10. It is bundled in dozens of Red Hat OpenShift AI (rhoai) container images, including MLflow, KServe, the notebook controllers, and the training and model-registry operators. Apply the Red Hat update (RHSA-2026:77775) through your normal patch cycle. Prioritize any workload that unpacks untrusted archives, such as model or dataset uploads and notebook imports.
What is the risk?
Low overall. The CVSS vector is AV:L/AC:H/PR:N/UI:R, with low confidentiality and availability impact and no integrity impact. Exploitation needs a user or an automated process to handle an attacker-supplied archive on the host. EPSS is unavailable, and there is no public exploit, scanner template, or KEV listing. Exposure rises for AI platforms that automatically ingest user-supplied archives (model artifacts, datasets, notebook bundles), because the user-interaction requirement is then effectively met by automation. The impact is limited to a crash or a small read of uninitialized memory, which is not reliable enough for targeted data theft.
How does the attack unfold?
What systems are affected?
How severe is it?
What is the attack surface?
What should I do?
1 step1) Apply the Red Hat errata RHSA-2026:77775 and rebuild or redeploy the affected rhoai images. 2) For custom images, update libarchive to a build containing the fix from upstream pull request 3318. 3) Inventory images and SBOMs for libarchive, including the 'main' branch builds listed. 4) Restrict archive extraction in AI pipelines to trusted or scanned sources, and run extraction in sandboxed, low-privilege containers with resource limits. 5) Monitor for repeated crashes or restarts (segfaults, CrashLoopBackOff) in controllers and workbenches that handle archives. 6) Track the Red Hat Bugzilla entry 2554209 for fixed-version details.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-17591?
libarchive has a use-after-free in archive_entry_copy_mac_metadata(). The function frees an internal buffer before it finishes copying, so a crafted archive can crash the application or expose uninitialized memory. The risk is low: CVSS is 3.6, the attack is local with high complexity, and the user has to open the archive. There is no public exploit, no Nuclei template, and no KEV listing, and EPSS and SSVC data are not available. The reach is wide, though. libarchive has 695 downstream dependents, 142 other CVEs in the same package, and an OpenSSF Scorecard of 5.4/10. It is bundled in dozens of Red Hat OpenShift AI (rhoai) container images, including MLflow, KServe, the notebook controllers, and the training and model-registry operators. Apply the Red Hat update (RHSA-2026:77775) through your normal patch cycle. Prioritize any workload that unpacks untrusted archives, such as model or dataset uploads and notebook imports.
Is CVE-2026-17591 actively exploited?
No confirmed active exploitation of CVE-2026-17591 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-17591?
1) Apply the Red Hat errata RHSA-2026:77775 and rebuild or redeploy the affected rhoai images. 2) For custom images, update libarchive to a build containing the fix from upstream pull request 3318. 3) Inventory images and SBOMs for libarchive, including the 'main' branch builds listed. 4) Restrict archive extraction in AI pipelines to trusted or scanned sources, and run extraction in sandboxed, low-privilege containers with resource limits. 5) Monitor for repeated crashes or restarts (segfaults, CrashLoopBackOff) in controllers and workbenches that handle archives. 6) Track the Red Hat Bugzilla entry 2554209 for fixed-version details.
What systems are affected by CVE-2026-17591?
This vulnerability affects the following AI/ML architecture patterns: model serving, training pipelines, MLOps platforms, notebook/workbench environments, model registries, Kubernetes-based AI operators.
What is the CVSS score for CVE-2026-17591?
CVE-2026-17591 has a CVSS v3.1 base score of 3.6 (LOW).
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0010.001AI SoftwareAML.T0011.000Unsafe AI ArtifactsAML.T0029Denial of AI ServiceCompliance Controls Affected
What are the technical details?
Original Advisory
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.
Exploitation Scenario
An attacker uploads a malformed archive containing crafted Mac metadata (AppleDouble) entries as a model artifact, dataset bundle, or notebook export to a shared AI platform. When a pipeline step, model registry operation, or user workflow extracts it with libarchive, the use-after-free is triggered. The component crashes, which disrupts the pipeline or serving workflow. With repeated attempts and favorable heap conditions, the attacker might also read stale memory contents. The high attack complexity and the need for a local, user-driven action keep the practical impact small.
Weaknesses (CWE)
CWE-416 — Use After Free: The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
- [Architecture and Design] Choose a language that provides automatic memory management.
- [Implementation] When freeing pointers, be sure to set them to NULL once they are freed. However, the utilization of multiple or complex data structures may lower the usefulness of this strategy.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:LReferences
- access.redhat.com/errata/RHSA-2026:77775vendor-advisoryx_refsource_REDHAT
- access.redhat.com/security/cve/CVE-2026-17591vdb-entryx_refsource_REDHAT
- bugzilla.redhat.com/show_bug.cgiissue-trackingx_refsource_REDHAT
- github.com/libarchive/libarchive/pull/3318
Timeline
Related Vulnerabilities
CVE-2025-1537910.0MLflow: RCE via unsanitized model dependency specs
Same package: mlflowCVE-2023-376510.0MLflow: path traversal allows arbitrary file read
Same package: mlflowCVE-2023-27809.8MLflow: path traversal allows arbitrary file read/write
Same package: mlflowCVE-2023-11779.8MLflow: path traversal allows arbitrary file read/write
Same package: mlflowCVE-2026-26359.8mlflow: security flaw enables exploitation
Same package: mlflow