Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. cryptography
  4. ›
  5. CVE-2023-23931

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

February 7, 2023 (updated November 4, 2025)

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.

References

  • github.com/advisories/GHSA-w7pp-m8wf-vj6r
  • github.com/pyca/cryptography
  • github.com/pyca/cryptography/commit/d6951dca25de45abd52da51b608055371fbcde4e
  • github.com/pyca/cryptography/pull/8230
  • github.com/pyca/cryptography/security/advisories/GHSA-w7pp-m8wf-vj6r
  • github.com/pypa/advisory-database/tree/main/vulns/cryptography/PYSEC-2023-11.yaml
  • lists.debian.org/debian-lts-announce/2024/10/msg00012.html
  • nvd.nist.gov/vuln/detail/CVE-2023-23931
  • security.netapp.com/advisory/ntap-20230324-0007

Code Behaviors & Features

Detect and mitigate CVE-2023-23931 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions starting from 1.8 before 39.0.1

Fixed versions

  • 39.0.1

Solution

Upgrade to version 39.0.1 or above.

Impact 4.8 MEDIUM

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L

Learn more about CVSS

Weakness

  • CWE-754: Improper Check for Unusual or Exceptional Conditions

Source file

pypi/cryptography/CVE-2023-23931.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:17:09 +0000.