LiveActive security incident?Get immediate response
CVE Record

CVE-2023-23931: Cipher.update_into can corrupt memory in pyca cryptography

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.

MediumCVSS 4.8Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

A flaw in the Python cryptography package could let code using Cipher.update_into write into objects Python treats as immutable. That can corrupt cryptographic output and break application assumptions. The issue is medium severity because exploitation requires specific API use and mainly affects integrity and availability, not direct data disclosure.

Executive priority

Treat this as a moderate dependency remediation item, not an emergency. Prioritize systems that rely on Python cryptography in security-sensitive paths, especially where third-party input influences cryptographic operations. Confirm vendor-managed products receive their normal security updates.

Technical view

Affected pyca cryptography versions 1.8 through before 39.0.1 allowed Cipher.update_into to accept buffer-protocol objects backed by immutable buffers, including bytes. The function could mutate immutable data and produce corrupted output. The corrected behavior is to raise an exception for unsuitable buffers.

Likely exposure

Exposure is most likely in Python applications, appliances, or distributions bundling pyca cryptography before 39.0.1 and using Cipher.update_into directly or through dependent code. NetApp and Debian references indicate downstream ecosystem tracking, but the bundle does not identify specific exploitable deployments.

Exploitation context

No active exploitation is cited, and the CVE is not listed as KEV in the provided bundle. The CVSS vector indicates network reachability but high attack complexity, with low integrity and availability impact and no confidentiality impact.

Researcher notes

The core issue is a buffer mutability validation failure in Cipher.update_into. Impact is corruption of immutable Python objects and output integrity, not a documented key disclosure issue. Evidence does not support claims of public exploitation or broad remote compromise.

Mitigation direction

  • Upgrade pyca cryptography to 39.0.1 or later where supported.
  • Check vendor advisories for bundled or appliance-managed cryptography packages.
  • Prioritize internet-facing services that process untrusted cryptographic workloads.
  • Rebuild containers or virtual environments that pin vulnerable cryptography versions.
  • Monitor Debian, NetApp, and application vendor guidance for backported fixes.

Validation and detection

  • Inventory installed cryptography package versions across applications and images.
  • Identify direct or transitive use of Cipher.update_into in Python code.
  • Confirm vulnerable versions are not present in production runtime environments.
  • Verify vendor-managed products have applied their advisory-specific updates.
  • Run regression tests covering cryptographic workflows after upgrading.
Prepared
Confidence
high
Sources
6

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-754: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2023-23931 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Medium
CVSS
4.8 (3.1)
Known Exploited
No
Published

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

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
5Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
4.8CVSS 3.1MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L2.22.5Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

4.8Medium
CVSS 3.1 vector shape for CVE-2023-23931Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

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

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
pycacryptography>=1.8, < 39.0.1Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-754 · source CWE mapping

Improper Check for Unusual or Exceptional Conditions

Improper Check for Unusual or Exceptional Conditions represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.