HTSlib — это библиотека для чтения и записи форматов файлов биоинформатики. CRAM — это сжатый формат, в котором хранятся данные выравнивания последовательностей ДНК с использованием различных методов кодирования и сжатия. При чтении данных, закодированных с помощью метода BYTE_ARRAY_LEN, метод cram_byte_array_len_decode() не смог проверить, соответствует ли объем распаковываемых данных размеру выходного буфера, в котором они должны были храниться. В зависимости от считываемого ряда данных это может привести либо к куче, либо к переполнению стека байтами, контролируемыми злоумышленником.
В зависимости от потока данных это может привести либо к переполнению буфера кучи, либо к переполнению стека. Если пользователь откроет файл, созданный для использования этой проблемы, это может привести к сбою программы, перезаписи структур данных в куче или стеке способами, не ожидаемыми программой, или к изменению потока управления программой. Возможно, это можно будет использовать для выполнения произвольного кода.
Версии 1.23.1, 1.22.2 и 1.21.1 включают исправления этой проблемы. Для этой проблемы не существует решения.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
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:*:*:*:*:*:*:*
|
— | — |