CVE-2021-42614
High · 7.8CVSS
7.8
EPSS
0.9%
Published
May 24, 2022
CISA due date
—
Cloudanix analysis
A flaw in an old documentation tool can let someone who tricks you into opening a specially made file crash the program or take over your computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Use-after-free in info_width_internal allows memory corruption during processing of a crafted input document, potentially leading to crashes or arbitrary code execution in the affected process context.
Why it matters to the business
Processing untrusted documentation files with the affected tool can result in application crashes or full compromise of the local workstation, disrupting documentation builds and exposing developer or build environments to local attackers.
How an attack unfolds
An attacker prepares a specially crafted text document that triggers the use-after-free condition inside info_width_internal when Halibut parses it; opening the document locally causes the vulnerable code path to dereference freed memory, enabling memory corruption that can be turned into code execution.
How to fix it
No fixed versions are listed for the affected Halibut releases; discontinue use of the unmaintained 1.2 branch, replace Halibut with an alternative documentation processor, or apply any community patches that address the use-after-free if they become available.
How to confirm the fix worked
Confirm the Halibut binary version is not 1.2, test processing of known-triggering documents in a sandbox to verify absence of crashes or memory errors, and scan build pipelines for references to the vulnerable binary.
Typical attack path
- Attacker creates a malicious text document designed to exercise the vulnerable info_width_internal path
- Victim opens the document with the affected Halibut binary on a local system
- Use-after-free triggers during parsing, resulting in memory corruption
- Attacker leverages corruption to achieve code execution or denial of service
How to detect it
Search build logs, CI artifacts, and user workstations for execution of halibut version 1.2; look for segmentation faults or abnormal memory errors when processing documentation sources.
What your security team should do
- Immediately inventory all systems and CI pipelines that invoke Halibut 1.2
- Block or replace the binary in all automated documentation workflows
- Monitor for any upstream or distribution patches and apply them if released
- Treat any remaining instances as high-risk local attack surface and isolate where possible
The record
A use after free in info_width_internal in bk_info.c in Halibut 1.2 allows an attacker to cause a segmentation fault or possibly have unspecified other impact via a crafted text document.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | halibut | 0 | No fix |
| Debian:12 | halibut | 0 | 1.3-1 |
| Debian:13 | halibut | 0 | 1.3-1 |
| Mageia:8 | halibut | 0 | 1.3-1.mga8 |
| Ubuntu:16.04:LTS | halibut | 0 | No fix |
| Ubuntu:18.04:LTS | halibut | 0 | No fix |
| Ubuntu:20.04:LTS | halibut | 0 | No fix |
| Ubuntu:22.04:LTS | halibut | 0 | No fix |
| Ubuntu:24.04:LTS | halibut | 0 | No fix |
| Ubuntu:24.10 | halibut | 0 | No fix |
| Ubuntu:25.04 | halibut | 0 | No fix |
| Ubuntu:25.10 | halibut | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | halibut | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | halibut | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | halibut | 0 | No fix |
Related vulnerabilities
- CVE-2021-42613 A double free in cleanup_index in index.c in Halibut 1.2 allows an attacker to cause a… Also affects halibut
- CVE-2021-42612 A use after free in cleanup_index in index.c in Halibut 1.2 allows an attacker to cause a… Also affects halibut
- CVE-2026-109618 PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort… CWE-416
- CVE-2026-109619 PHP has various global state that temporarily points into request memory. CWE-416
- CVE-2026-112402 Pillow is a Python imaging library. CWE-416
- CVE-2026-112396 Pillow is a Python imaging library. CWE-416
- CVE-2025-55654 A use-after-free in the gf_filter_pid_get_packet function (filter_core/filter_pid.c) of… CWE-416
- CVE-2026-17591 A flaw was found in libarchive. CWE-416