CVE-2025-66038

LOW CVSS 3.1: 3,9 EPSS 0.02%
Обновлено 30 марта 2026
Opensc
Параметр Значение
CVSS 3,9 (LOW)
Устранено в версии 0.27.0
Тип уязвимости CWE-126
Поставщик Opensc
Публичный эксплойт Нет

OpenSC — это инструменты и промежуточное программное обеспечение для смарт-карт с открытым исходным кодом. До версии 0.27.0 sc_compacttlv_find_tag ​​ищет в буфере Compact-TLV заданный тег. В компактном TLV один байт кодирует тег (старший полубайт) и длину значения (младший полубайт).

При использовании 1-байтового буфера {0x0A} закодированный элемент требует тега = 0 и длины = 10, но за ним не следуют байты значения. Вызов sc_compacttlv_find_tag ​​с тегом поиска 0x00 возвращает указатель, равный buf+1 и outlen=10, без проверки того, что заявленная длина значения помещается в оставшийся буфер. В тех случаях, когда sc_compacttlv_find_tag ​​предоставляет ненадежные данные (например, считываемые с карт/файлов), злоумышленники могут повлиять на него, чтобы он возвращал указатели за пределами границ, что приводит к повреждению нисходящей памяти, когда последующий код пытается разыменовать указатель.

Эта проблема исправлена ​​в версии 0.27.0.

Показать оригинальное описание (EN)

OpenSC is an open source smart card tools and middleware. Prior to version 0.27.0, sc_compacttlv_find_tag searches a compact-TLV buffer for a given tag. In compact-TLV, a single byte encodes the tag (high nibble) and value length (low nibble). With a 1-byte buffer {0x0A}, the encoded element claims tag=0 and length=10 but no value bytes follow. Calling sc_compacttlv_find_tag with search tag 0x00 returns a pointer equal to buf+1 and outlen=10 without verifying that the claimed value length fits within the remaining buffer. In cases where the sc_compacttlv_find_tag is provided untrusted data (such as being read from cards/files), attackers may be able to influence it to return out-of-bounds pointers leading to downstream memory corruption when subsequent code tries to dereference the pointer. This issue has been patched in version 0.27.0.

Характеристики атаки

Способ атаки
Физический
Нужен физический доступ
Сложность
Высокая
Сложно эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Низкое
Частичная утечка данных
Целостность
Низкое
Частичная модификация данных
Доступность
Низкое
Частичное нарушение работы

Строка CVSS v3.1

Тип уязвимости (CWE)