Security Resilience

CVE-2023-23931

Cryptography.Io Cryptography 1.8 – 39.0.1

Public PoC
Published
07 February 2023
Modified
03 November 2025
Patch / advisory
CVSS Score v3.1 4.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
EPSS Score 0.013 70th percentile
Risk Priority 42 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2023-23931 is a medium-severity Improper Check for Unusual or Exceptional Conditions (CWE-754) vulnerability in Cryptography.Io Cryptography. Its CVSS base score is 4.8 (Medium).

Operationally, ranked in the top 30% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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`)…

more

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.

CWE(s)

Related Threats

CVEs Like This One

CVE-2024-26130Same product: Cryptography.Io Cryptography
CVE-2026-34073Same product: Cryptography.Io Cryptography
CVE-2023-38325Same product: Cryptography.Io Cryptography
CVE-2026-39892Same product: Cryptography.Io Cryptography
CVE-2023-49083Same product: Cryptography.Io Cryptography
CVE-2026-26007Same product: Cryptography.Io Cryptography
CVE-2026-33774Shared CWE-754
CVE-2024-39519Shared CWE-754
CVE-2025-62875Shared CWE-754
CVE-2024-42284Shared CWE-754

Affected Assets

cryptography.io
cryptography
1.8 — 39.0.1

Mitigating Controls

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-754

Requires detection and response to audit logging failures as an unusual or exceptional condition.

addresses: CWE-754

Implements detection of unusual or exceptional conditions followed by safe mode entry, reducing the window for exploitation of unchecked conditions.

addresses: CWE-754

Training ensures users perform required checks for unusual or exceptional conditions as part of contingency roles, limiting attacker leverage from skipped validations.

addresses: CWE-754

IR testing directly validates checks for unusual or exceptional conditions that could indicate security incidents.

addresses: CWE-754

Requires ongoing monitoring of organization-defined metrics and analysis, enabling checks for unusual or exceptional conditions.

addresses: CWE-754

Security testing routinely checks for unusual or exceptional inputs/conditions, identifying missing validation steps that flaw remediation then resolves.

addresses: CWE-754

Requires detection of unusual conditions followed by a controlled transition to the defined failure state.

addresses: CWE-754

MTTF determination forces explicit checks for conditions that precede predictable component failure.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

A.8.15 Logging partial match
finds

Logging can record unhandled exceptions but does not prevent the weakness itself.

finds

Monitoring may detect symptoms of unhandled conditions but does not eliminate the root weakness.

blocks

Secure development life cycle mandates exception handling and input validation that directly prevent missing checks for unusual conditions.

blocks

Application security requirements explicitly call for handling of exceptional conditions and error paths.

blocks

A.8.27 mandates security-by-design principles (fail securely, least privilege, distrust external input, security-oriented design reviews) that reach some but not most CWE-754 cases; many exceptional-condition checks live in low-level code paths outside architecture-level engineering.

prevents

Secure coding standards directly mandate proper checks for exceptional and unusual conditions.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-754, a class-level weakness. Rules are authored against its narrower children: CWE-354.

References