Ad

CVE-2026-31971

HIGH CVSS 4.0: 7.1 EPSS 0.14%
Updated Mar 19, 2026
Htslib
Parameter Value
CVSS 7.1 (HIGH)
Affected Versions 1.22 — 1.22.2
Fixed In 1.21.1
Type CWE-121 (Stack-based Buffer Overflow), CWE-1284, CWE-787 (Out-of-bounds Write), CWE-122 (Heap-based Buffer Overflow)
Vendor Htslib
Public PoC No

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_LEN` method, the `cram_byte_array_len_decode()` failed to validate that the amount of data being unpacked matched the size of the output buffer where it was to be stored. Depending on the data series being read, this could result either in a heap or a stack overflow with attacker-controlled bytes.

Depending on the data stream this could result either in a heap buffer overflow or a stack overflow. If a user opens a file crafted to exploit this issue it could lead to the program crashing, overwriting of data structures on the heap or stack in ways not expected by the program, or changing the control flow of 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.

Attack Parameters

Attack Vector
Network
Can be exploited remotely
Attack Complexity
Low
Easy to exploit
Attack Requirements
None
No additional conditions
Privileges Required
None
No privileges needed
User Interaction
Passive
Minimal interaction

Impact Assessment

Confidentiality
None
No data leak
Integrity
High
Complete data modification
Availability
Low
Partial disruption

CVSS Vector v4.0

Vulnerable Products 3

Configuration From (including) Up to (excluding)
Htslib Htslib
cpe:2.3:a:htslib:htslib:*:*:*:*:*:*:*:*
1.21.1
Htslib Htslib
cpe:2.3:a:htslib:htslib:*:*:*:*:*:*:*:*
1.22 1.22.2
Htslib Htslib
cpe:2.3:a:htslib:htslib:1.23:*:*:*:*:*:*:*