CVE-2016-10209
Medium · 5.5CVSS
5.5
EPSS
1.9%
Published
Apr 3, 2017
CISA due date
—
Cloudanix analysis
A specially made archive file can crash certain programs that open archives, causing temporary outages until the programs are restarted or updated.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The archive_wstring_append_from_mbs function in libarchive performs insufficient validation on multibyte string data from an archive, resulting in a NULL pointer dereference and immediate process crash.
Why it matters to the business
Applications that process untrusted archive files can be forced offline by a single malicious file, interrupting services that rely on archive handling and requiring manual restarts or failover.
How an attack unfolds
An attacker crafts a malicious archive containing data that triggers the faulty multibyte string handling path, then supplies the file to a target application using the vulnerable libarchive version; when the application attempts to process the archive, the NULL dereference occurs and the process terminates.
How to fix it
Upgrade libarchive to a version containing the fix for the NULL dereference. For the listed Cassandra packages, the supplied fixed versions already incorporate the corrected libarchive dependency; verify the running libarchive version meets or exceeds the patched release.
How to confirm the fix worked
Confirm the installed libarchive shared library or package version is newer than 3.2.2, then attempt to process a known-triggering archive in a test environment and verify the process no longer crashes.
Typical attack path
- Identify an application or service that uses libarchive to extract or inspect archives
- Craft an archive file that reaches the vulnerable append-from-mbs code path
- Deliver the archive to the target (local file, download, or attachment)
- Trigger archive processing, causing the NULL dereference and crash
How to detect it
Review application and system logs for sudden crashes or segmentation faults during archive extraction; correlate crash timestamps with file-access events involving archive formats.
What your security team should do
- Inventory all systems and containers that link against libarchive and prioritize upgrades where archive processing occurs on untrusted input
- Apply the fixed package versions provided for the affected Cassandra images
- Add archive-processing components to the vulnerability scanning and patch-management workflow
- Monitor for new public exploits given the ExploitAvailable maturity rating
The record
The archive_wstring_append_from_mbs function in archive_string.c in libarchive 3.2.2 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted archive file.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | libarchive | 0 | 3.2.2-3.1 |
| Debian:11 | libarchive | 0 | 3.2.2-3.1 |
| Debian:12 | libarchive | 0 | 3.2.2-3.1 |
| Debian:13 | libarchive | 0 | 3.2.2-3.1 |
| Debian:7 | libarchive | 0 | 3.0.4-3+wheezy6 |
| Debian:8 | libarchive | 0 | 3.1.2-11+deb8u4 |
| Debian:9 | libarchive | 0 | 3.2.2-2+deb9u1 |
| Mageia:5 | libarchive | 0 | 3.2.2-1.3.mga5 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libarchive | 0 | 3.1.2-26.3.1 |
| SUSE:Linux Enterprise Desktop 12 SP4 | libarchive | 0 | 3.1.2-26.3.1 |
| SUSE:Linux Enterprise Desktop 12 SP4 | libarchive | 0 | 3.1.2-26.6.1 |
| SUSE:Linux Enterprise Server 12 SP3 | libarchive | 0 | 3.1.2-26.3.1 |
| SUSE:Linux Enterprise Server 12 SP4 | libarchive | 0 | 3.1.2-26.3.1 |
| SUSE:Linux Enterprise Server 12 SP4 | libarchive | 0 | 3.1.2-26.6.1 |
| SUSE:Linux Enterprise Server 12 SP5 | libarchive | 0 | 3.1.2-26.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | libarchive | 0 | 3.1.2-26.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | libarchive | 0 | 3.1.2-26.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | libarchive | 0 | 3.1.2-26.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | libarchive | 0 | 3.1.2-26.6.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libarchive | 0 | 3.1.2-26.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP4 | libarchive | 0 | 3.1.2-26.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP4 | libarchive | 0 | 3.1.2-26.6.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | libarchive | 0 | 3.1.2-26.6.1 |
| Ubuntu:14.04:LTS | libarchive | 0 | 3.1.2-7ubuntu2.6 |
| Ubuntu:16.04:LTS | libarchive | 0 | 3.1.2-11ubuntu0.16.04.4 |
| Ubuntu:18.04:LTS | libarchive | 0 | 3.2.2-3.1 |
| Ubuntu:18.04:LTS | libarchive | 0 | 3.2.2-3.1ubuntu0.1 |
Related vulnerabilities
- JLSEC-2025-250 libarchive through 3.7.7 has a heap-based buffer over-read in header_gnu_longlink in… Also affects libarchive
- CVE-2024-57970 libarchive through 3.7.7 has a heap-based buffer over-read in header_gnu_longlink in… Also affects libarchive
- CVE-2024-20696 Windows Libarchive Remote Code Execution Vulnerability Also affects libarchive
- CVE-2017-14502 read_header in archive_read_support_format_rar.c in libarchive 3.3.2 suffers from an… Also affects libarchive
- CVE-2016-5418 The sandboxing code in libarchive 3.2.0 and earlier mishandles hardlink archive entries… Also affects libarchive
- CVE-2015-8921 The ae_strtofflags function in archive_entry.c in libarchive before 3.2.0 allows remote… Also affects libarchive
- CVE-2015-8916 bsdtar in libarchive before 3.2.0 returns a success code without filling the entry when… Also affects libarchive
- CVE-2016-1541 Heap-based buffer overflow in the zip_read_mac_metadata function in… Also affects libarchive