CVE-2026-31969
March 18, 2026
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.
Affected Packages
https://github.com/samtools/htslib.git (GITHUB):
Affected version(s) >=1.22 <1.22.2Fix Suggestion:
Update to version 1.22.2https://github.com/samtools/htslib.git (GITHUB):
Affected version(s) =1.23 <1.23.1Fix Suggestion:
Update to version 1.23.1https://github.com/samtools/htslib.git (GITHUB):
Affected version(s) =1.21 <1.21.1Fix Suggestion:
Update to version 1.21.1Related Resources (2)
Do you need more information?
Contact UsCVSS v4
Base Score:
7.1
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
PASSIVE
Vulnerable System Confidentiality
NONE
Vulnerable System Integrity
HIGH
Vulnerable System Availability
LOW
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
7.1
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
NONE
Integrity
HIGH
Availability
LOW
EPSS
Base Score:
0.04