Краткое описание проблемы: параметры PBMAC1 в файлах PKCS#12 не проходят проверку.
который может вызвать переполнение буфера стека, недопустимый указатель или NULL
разыменование указателя во время проверки MAC. Краткое описание воздействия. Переполнение буфера стека или разыменование нулевого указателя могут
вызвать сбой, ведущий к отказу в обслуживании для приложения, которое анализирует
ненадежные файлы PKCS#12.
Переполнение буфера также потенциально может привести к включению выполнение кода в зависимости от мер по смягчению последствий платформы. При проверке файла PKCS#12, который использует PBMAC1 в качестве MAC, PBKDF2 Параметры salt и keylength из файла используются без проверки. Если значение длины ключа превышает размер используемого фиксированного буфера стека для производного ключа (64 байта) деривация ключа переполнит буфер.
Длина переполнения контролируется злоумышленником. Кроме того, если параметр соли
не тип OCTET STRING, это может привести к недействительному или NULL указателю
разыменование. Чтобы воспользоваться этой проблемой, пользователю или приложению необходимо обработать
вредоносный файл PKCS#12.
Редко принимают ненадежные
Файлы PKCS#12 в приложениях, поскольку они обычно используются для хранения личных данных.
ключи, которым доверяют по определению. По этой причине вопрос был оценен
как средней степени тяжести. Модули FIPS версий 3.6, 3.5 и 3.4 не затрагиваются этой проблемой, так как
Обработка PKCS#12 находится за пределами модуля OpenSSL FIPS.
OpenSSL 3.6, 3.5 и 3.4 уязвимы для этой проблемы.
OpenSSL 3.3, 3.0, 1.1.1 и 1.0.2 не подвержены этой проблеме, как это происходит
не поддерживает PBMAC1 в PKCS#12.
Показать оригинальное описание (EN)
Issue summary: PBMAC1 parameters in PKCS#12 files are missing validation which can trigger a stack-based buffer overflow, invalid pointer or NULL pointer dereference during MAC verification. Impact summary: The stack buffer overflow or NULL pointer dereference may cause a crash leading to Denial of Service for an application that parses untrusted PKCS#12 files. The buffer overflow may also potentially enable code execution depending on platform mitigations. When verifying a PKCS#12 file that uses PBMAC1 for the MAC, the PBKDF2 salt and keylength parameters from the file are used without validation. If the value of keylength exceeds the size of the fixed stack buffer used for the derived key (64 bytes), the key derivation will overflow the buffer. The overflow length is attacker-controlled. Also, if the salt parameter is not an OCTET STRING type this can lead to invalid or NULL pointer dereference. Exploiting this issue requires a user or application to process a maliciously crafted PKCS#12 file. It is uncommon to accept untrusted PKCS#12 files in applications as they are usually used to store private keys which are trusted by definition. For this reason the issue was assessed as Moderate severity. The FIPS modules in 3.6, 3.5 and 3.4 are not affected by this issue, as PKCS#12 processing is outside the OpenSSL FIPS module boundary. OpenSSL 3.6, 3.5 and 3.4 are vulnerable to this issue. OpenSSL 3.3, 3.0, 1.1.1 and 1.0.2 are not affected by this issue as they do not support PBMAC1 in PKCS#12.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.4.0
|
3.4.4
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.5.0
|
3.5.5
|
|
Openssl Openssl
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
|
3.6.0
|
3.6.1
|