CVE-2026-31969 | samtools htslib up to 1.21.0/1.22.1/1.23 cram_byte_array_stop_decode_char heap-based overflow (GHSA-q4cj-f4h5-fqgc)
VulDBArchived Mar 19, 2026✓ Full text saved
A vulnerability classified as critical has been found in samtools htslib up to 1.21.0/1.22.1/1.23 . This affects the function cram_byte_array_stop_decode_char . The manipulation leads to heap-based buffer overflow. This vulnerability is listed as CVE-2026-31969 . The attack may be initiated remotely. There is no available exploit. It is recommended to upgrade the affected component.
Full text archived locally
✦ AI Summary· Claude Sonnet
VDB-351624 · CVE-2026-31969 · GHSA-Q4CJ-F4H5-FQGC
SAMTOOLS HTSLIB UP TO 1.21.0/1.22.1/1.23 CRAM_BYTE_ARRAY_STOP_DECODE_CHAR HEAP-BASED OVERFLOW
HISTORYDIFFRELATEJSONXMLCTI
CVSS Meta Temp Score Current Exploit Price (≈) CTI Interest Score
6.0 $0-$5k 0.56+
Summaryinfo
A vulnerability classified as critical was found in samtools htslib up to 1.21.0/1.22.1/1.23. This impacts the function cram_byte_array_stop_decode_char. The manipulation results in heap-based overflow. This vulnerability is cataloged as CVE-2026-31969. The attack may be launched remotely. There is no exploit available. Upgrading the affected component is advised.
Detailsinfo
A vulnerability, which was classified as critical, was found in samtools htslib up to 1.21.0/1.22.1/1.23. Affected is the function cram_byte_array_stop_decode_char. The manipulation with an unknown input leads to a heap-based overflow vulnerability. CWE is classifying the issue as CWE-122. A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc(). This is going to have an impact on confidentiality, integrity, and availability. CVE summarizes:
HTSlib is a library for reading and writing bioinformatics file formats. CRAM is a compressed format which stores DNA sequence alignment data using a variety of encodings and compression methods. When reading data encoded using the `BYTE_ARRAY_STOP` method, an out-by-one error in the `cram_byte_array_stop_decode_char()` function check for a full output buffer could result in a single attacker-controlled byte being written beyond the end of a heap allocation. Exploiting this bug causes a heap buffer overflow. If a user opens a file crafted to exploit this issue, it could lead to the program crashing, or overwriting of data and heap structures in ways not expected by the program. It may be possible to use this to obtain arbitrary code execution. Versions 1.23.1, 1.22.2 and 1.21.1 include fixes for this issue. There is no workaround for this issue.
The advisory is shared for download at github.com. This vulnerability is traded as CVE-2026-31969 since 03/10/2026. The exploitability is told to be easy. It is possible to launch the attack remotely. The exploitation doesn't require any form of authentication. Successful exploitation requires user interaction by the victim. There are known technical details, but no exploit is available.
Upgrading to version 1.21.1 or 1.22.2 eliminates this vulnerability. Applying the patch 88cdf69e4b83bb550ab4f6f7134892c2ad1978f4 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.
Productinfo
Vendor
samtools
Name
htslib
Version
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.17
1.18
1.19
1.20
1.21
1.21.0
1.22
1.22.0
1.22.1
1.23
License
open-source
Website
Product: https://github.com/samtools/htslib/
CPE 2.3info
🔒
🔒
🔒
CPE 2.2info
🔒
🔒
🔒
CVSSv4info
VulDB Vector: 🔒
VulDB Reliability: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3info
VulDB Meta Base Score: 6.3
VulDB Meta Temp Score: 6.0
VulDB Base Score: 6.3
VulDB Temp Score: 6.0
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2info
Vector Complexity Authentication Confidentiality Integrity Availability
Unlock Unlock Unlock Unlock Unlock Unlock
Unlock Unlock Unlock Unlock Unlock Unlock
Unlock Unlock Unlock Unlock Unlock Unlock
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploitinginfo
Class: Heap-based overflow
CWE: CWE-122 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
0-Day Unlock Unlock Unlock Unlock
Today Unlock Unlock Unlock Unlock
Threat Intelligenceinfo
Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍
Countermeasuresinfo
Recommended: Upgrade
Status: 🔍
0-Day Time: 🔒
Upgrade: htslib 1.21.1/1.22.2
Patch: 88cdf69e4b83bb550ab4f6f7134892c2ad1978f4
Timelineinfo
03/10/2026 CVE reserved
03/18/2026 +8 days Advisory disclosed
03/18/2026 +0 days VulDB entry created
03/19/2026 +0 days VulDB entry last update
Sourcesinfo
Product: github.com
Advisory: GHSA-q4cj-f4h5-fqgc
Status: Confirmed
CVE: CVE-2026-31969 (🔒)
GCVE (CVE): GCVE-0-2026-31969
GCVE (VulDB): GCVE-100-351624
Entryinfo
Created: 03/19/2026 00:00
Changes: 03/19/2026 00:00 (70)
Complete: 🔍
Cache ID: 99:F72:101
Discussion
No comments yet. Languages: en.
Please log in to comment.
◂ PreviousOverviewNext ▸