# CVE-2023-23931: Cipher.update_into can corrupt memory if passed an immutable python object as the outbuf

Source: https://junglewise.ai/threats/cve-2023-23931-cipher-update-into-can-corrupt-memory-if-passed-an-immutable  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2023-02-07  
License: CC BY 4.0 with a link back

CVE-2023-23931 · Severity: low · CVSS 3.1 · Published 2023-02-07

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.

Technologies: [cryptography (PyPI)](https://junglewise.ai/threats/technologies/cryptography). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2023-23931 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2023-23931 being exploited in the wild.

**How severe is CVE-2023-23931?** Low severity, with a CVSS score of 3.1, published 7 February 2023.

**Which products and versions are affected?** cryptography (PyPI) ECOSYSTEM:introduced=1.8,fixed=39.0.1, GIT:introduced=0,fixed=94a50a9731f35405f0357fa5f3b177d46a726ab3|ECOSYSTEM:introduced=1.8,fixed=39.0.1.

**Is there a fix for CVE-2023-23931?** Yes. cryptography (PyPI): upgrade to 39.0.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2023-23931?** Check whether you run cryptography (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- cryptography (PyPI): upgrade to 39.0.1 or later

  ```sh
  pip install "cryptography>=39.0.1"
  ```


## Affected products

- cryptography (PyPI) ECOSYSTEM:introduced=1.8,fixed=39.0.1, GIT:introduced=0,fixed=94a50a9731f35405f0357fa5f3b177d46a726ab3|ECOSYSTEM:introduced=1.8,fixed=39.0.1

## Identifiers

- CVE-2023-23931
- GHSA-w7pp-m8wf-vj6r
- PYSEC-2023-11

## Related threats

- [pyca cryptography improper certificate validation in Name Constraints](https://junglewise.ai/threats/cve-2026-69248-pyca-cryptography-improper-certificate-validation-in-name)
- [Pyca Cryptography exponential path-building in X.509 verification](https://junglewise.ai/threats/cve-2026-69249-pyca-cryptography-exponential-path-building-in-x-509-verification)
- [pyca cryptography Bleichenbacher oracle in PKCS#7 decryption](https://junglewise.ai/threats/cve-2026-69247-pyca-cryptography-bleichenbacher-oracle-in-pkcs-7-decryption)
- [PYSEC-2026-1284 - Vulnerable OpenSSL included in cryptography wheels](https://junglewise.ai/threats/cve-2024-12797-vulnerable-openssl-included-in-cryptography-wheels)
- [PYSEC-2026-1283 - Python Cryptography package vulnerable to Bleichenbacher timing oracle attack](https://junglewise.ai/threats/cve-2023-50782-python-cryptography-package-vulnerable-to-bleichenbacher-timing)
