Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-w7pp-m8wf-vj6r

Опубликовано: 07 фев. 2023
Источник: github
Github: Прошло ревью
CVSS4: 6.9
CVSS3: 6.5

Описание

Cipher.update_into can corrupt memory if passed an immutable python object as the outbuf

Previously, Cipher.update_into would accept Python objects which implement the buffer protocol, but provide only immutable buffers:

>>> outbuf = b"\x00" * 32 >>> c = ciphers.Cipher(AES(b"\x00" * 32), modes.ECB()).encryptor() >>> c.update_into(b"\x00" * 16, outbuf) 16 >>> outbuf b'\xdc\x95\xc0x\xa2@\x89\x89\xadH\xa2\x14\x92\x84 \x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

This would allow immutable objects (such as bytes) to be mutated, thus violating fundamental rules of Python. This is a soundness bug -- it allows programmers to misuse an API, it cannot be exploited by attacker controlled data alone.

This now correctly raises an exception.

This issue has been present since update_into was originally introduced in cryptography 1.8.

Пакеты

Наименование

cryptography

pip
Затронутые версииВерсия исправления

>= 1.8, < 39.0.1

39.0.1

EPSS

Процентиль: 71%
0.00717
Низкий

6.9 Medium

CVSS4

6.5 Medium

CVSS3

Дефекты

CWE-754

Связанные уязвимости

CVSS3: 4.8
ubuntu
больше 2 лет назад

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In affected versions `Cipher.update_into` would accept Python objects which implement the buffer protocol, but provide only immutable buffers. This would allow immutable objects (such as `bytes`) to be mutated, thus violating fundamental rules of Python and resulting in corrupted output. This now correctly raises an exception. This issue has been present since `update_into` was originally introduced in cryptography 1.8.

CVSS3: 6.5
redhat
больше 2 лет назад

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In affected versions `Cipher.update_into` would accept Python objects which implement the buffer protocol, but provide only immutable buffers. This would allow immutable objects (such as `bytes`) to be mutated, thus violating fundamental rules of Python and resulting in corrupted output. This now correctly raises an exception. This issue has been present since `update_into` was originally introduced in cryptography 1.8.

CVSS3: 4.8
nvd
больше 2 лет назад

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In affected versions `Cipher.update_into` would accept Python objects which implement the buffer protocol, but provide only immutable buffers. This would allow immutable objects (such as `bytes`) to be mutated, thus violating fundamental rules of Python and resulting in corrupted output. This now correctly raises an exception. This issue has been present since `update_into` was originally introduced in cryptography 1.8.

CVSS3: 6.5
msrc
12 месяцев назад

Описание отсутствует

CVSS3: 4.8
debian
больше 2 лет назад

cryptography is a package designed to expose cryptographic primitives ...

EPSS

Процентиль: 71%
0.00717
Низкий

6.9 Medium

CVSS4

6.5 Medium

CVSS3

Дефекты

CWE-754