> CVE-2026-31970 [HIGH]

« BACK_TO_HOME
PUBLISHED
2026-03-18 20:16
MODIFIED
2026-03-18 20:16
CVSS_SCORE V3
7.1
EPSS (Prob. Exploit)
0.66%
Top 48.9%
DATA SOURCES:
NVD 🔗 2026-03-18 CWE MITRE 🔗 2026-11-01 FIRST EPSS 🔗 2026-10-25

> DESCRIPTION

HTSlib is a library for reading and writing bioinformatics file formats. GZI files are used to index block-compressed GZIP [BGZF] files. In the GZI loading function, `bgzf_index_load_hfile()`, it was possible to trigger an integer overflow, leading to an under- or zero-sized buffer being allocated to store the index. Sixteen zero bytes would then be written to this buffer, and, depending on the result of the overflow the rest of the file may also be loaded into the buffer as well. If the function did attempt to load the data, it would eventually fail due to not reading the expected number of records, and then try to free the overflowed heap buffer. 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. The easiest work-around is to discard any `.gzi` index files from untrusted sources, and use the `bgzip -r` option to recreate them.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
Unknown (P)
Interaction inconnue
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
None (N)
Aucune divulgation d'informations
I (Impact Intégrité)
Integrity Impact
High (H)
Modification totale des données possible
A (Impact Disponibilité)
Availability Impact
Low (L)
Interruption partielle du service possible

> RÉSUMÉ DES IMPACTS

Confidentialité
None
Aucune divulgation d'informations
Intégrité
High
Modification totale des données possible
Disponibilité
Low
Interruption partielle du service possible

> WEAKNESSES

CWE-122 CWE-131 CWE-190 CWE-787 CWE-1284

> CWE DETAILED DESCRIPTIONS

CWE-122: Heap-based Buffer Overflow - The product writes past the end of a buffer that was allocated on the heap. | CWE-131: Incorrect Calculation of Buffer Size - The product does not correctly calculate the size to be used when allocating a buffer. | CWE-190: Integer Overflow or Wraparound - The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number. | CWE-787: Out-of-bounds Write - The product writes data past the end, or before the beginning, of the intended buffer. | CWE-1284: Improper Validation of Specified Quantity in Input - The product receives input that is expected to specify a quantity (such as size or length), but it does not validate or incorrectly validates that the quantity has the required properties.

> HISTORIQUE DES MODIFICATIONS

Première apparition
18/03/2026 20:16
Source: NVD
📊 ENRICHISSEMENT 01/11/2026 06:58
CWE
Champ modifié: Description CWE
Ancienne valeur:
CWE-122: Heap-based Buffer Overflow - 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 bu...
Nouvelle valeur:
CWE-122: Heap-based Buffer Overflow - The product writes past the end of a buffer that was allocated on the heap. | CWE-131: Incorrect Calculation of Buffer Size - The product does not correctly calcu...
📊 ENRICHISSEMENT 01/04/2026 06:02
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-122: Heap-based Buffer Overflow - 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 bu...
Total des modifications: 2 Dernière mise à jour: 1 week ago

> REFERENCES

https://github.com/samtools/htslib/commit/6dd0d7d0e9e7e2e173a28969e624db8bc8bb58...
https://github.com/samtools/htslib/security/advisories/GHSA-p345-84hx-fq6q
« BACK_TO_HOME