CVE-2026-31967
CVE-2026-31967 is a critical-severity vulnerability in Htslib with a CVSS 3.x base score of 9.1. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-125.
Key facts
- Severity: Critical (CVSS 3.x base score 9.1)
- CVSS v4: 6.9
- EPSS exploit prediction: 0% (36th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-12938
- Weakness: CWE-125
- Affected product: Htslib
- Published:
- Last modified:
Description
HTSlib is a library for reading and writing bioinformatics file formats. CRAM is a compressed format which stores DNA sequence alignment data. In the `cram_decode_slice()` function called while reading CRAM records, the value of the mate reference id field was not validated. Later use of this value, for example when converting the data to SAM format, could result in the out of bounds array reads when looking up the corresponding reference name. If the array value obtained also happened to be a valid pointer, it would be interpreted as a string and an attempt would be made to write the data as part of the SAM record. This bug may allow information about program state to be leaked. It may also cause a program crash through an attempt to access invalid memory. Versions 1.23.1, 1.22.2 and 1.21.1 include fixes for this issue. There is no workaround for this issue.
Frequently asked questions
- What is CVE-2026-31967?
- HTSlib is a library for reading and writing bioinformatics file formats. CRAM is a compressed format which stores DNA sequence alignment data. In the `cram_decode_slice()` function called while reading CRAM records, the value of the mate reference id field was not validated. Later use of this value, for example when converting the data to SAM format, could result in the out of bounds array reads when looking up the corresponding reference name. If the array value obtained also happened to be a valid pointer, it would be interpreted as a string and an attempt would be made to write the data as part of the SAM record. This bug may allow information about program state to be leaked. It may also cause a program crash through an attempt to access invalid memory. Versions 1.23.1, 1.22.2 and 1.21.1 include fixes for this issue. There is no workaround for this issue.
- How severe is CVE-2026-31967?
- CVE-2026-31967 has a CVSS 3.x base score of 9.1, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity none, and availability high.
- Is CVE-2026-31967 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (36th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-31967?
- CVE-2026-31967 primarily affects Htslib. In total, 2 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
- How do I fix CVE-2026-31967?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- Does CVE-2026-31967 have an EU (EUVD) identifier?
- Yes. CVE-2026-31967 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-12938.
- When was CVE-2026-31967 published?
- CVE-2026-31967 was published on 2026-03-18 and last updated on 2026-06-17.
References
- https://github.com/samtools/htslib/commit/9cefb46453ad471e933b8212d4f45920524d3357
- https://github.com/samtools/htslib/security/advisories/GHSA-33x5-c6vj-8f2w
Affected products (2)
- cpe:2.3:a:htslib:htslib:*:*:*:*:*:*:*:*
- cpe:2.3:a:htslib:htslib:1.23:*:*:*:*:*:*:*
More vulnerabilities in Htslib
- CVE-2018-13845 — Critical (CVSS 9.8): An issue has been found in HTSlib 1.8. It is a buffer over-read in sam_parse1 in sam.c.
- CVE-2017-1000206 — Critical (CVSS 9.8): samtools htslib library version 1.4.0 and earlier is vulnerable to buffer overflow in the CRAM rANS codec resulting in…
- CVE-2026-31966 — Critical (CVSS 9.1): HTSlib is a library for reading and writing bioinformatics file formats. CRAM is a compressed format which stores DNA…
- CVE-2026-31962 — High (CVSS 8.8): HTSlib is a library for reading and writing bioinformatics file formats. CRAM is a compressed format which stores DNA…
- CVE-2020-36403 — High (CVSS 8.8): HTSlib through 1.10.2 allows out-of-bounds write access in vcf_parse_format (called from vcf_parse and vcf_read).
- CVE-2026-31965 — High (CVSS 8.2): HTSlib is a library for reading and writing bioinformatics file formats. CRAM is a compressed format which stores DNA…
Other CWE-125 (Out-of-bounds Read) vulnerabilities
- CVE-2026-24826 — Critical (CVSS 10.0): Out-of-bounds Write, Divide By Zero, NULL Pointer Dereference, Use of Uninitialized Resource, Out-of-bounds Read,…
- CVE-2024-22004 — Critical (CVSS 10.0): Due to length check, an attacker with privilege access on a Linux Nonsecure operating system can trigger a…
- CVE-2021-41556 — Critical (CVSS 10.0): sqclass.cpp in Squirrel through 2.2.5 and 3.x through 3.1 allows an out-of-bounds read (in the core interpreter) that…
- CVE-2021-21777 — Critical (CVSS 10.0): An information disclosure vulnerability exists in the Ethernet/IP UDP handler functionality of EIP Stack Group OpENer…
- CVE-2017-14451 — Critical (CVSS 10.0): An exploitable out-of-bounds read vulnerability exists in libevm (Ethereum Virtual Machine) of CPP-Ethereum. A…
- CVE-2013-0767 — Critical (CVSS 10.0): The nsSVGPathElement::GetPathLengthScale function in Mozilla Firefox before 18.0, Firefox ESR 10.x before 10.0.12 and…