Cyber Resilience

CVE-2023-40031

Memory Safety in Notepad-Plus-Plus Notepad\+\+ ≤ 8.5.6

Public PoCMemory Safety
Published
25 August 2023
Modified
21 November 2024
CVSS Score v3.1 7.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
EPSS Score 0.0049 40th percentile
Risk Priority 57 floored blend · peak EPSS

Summary

CVE-2023-40031 is a high-severity Classic Buffer Overflow (CWE-120) vulnerability in Notepad-Plus-Plus Notepad\+\+. Its CVSS base score is 7.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 40th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

EU & UK References

Vulnerability Data

Notepad++ is a free and open-source source code editor. Versions 8.5.6 and prior are vulnerable to heap buffer write overflow in `Utf8_16_Read::convert`. This issue may lead to arbitrary code execution. As of time of publication, no known patches are available…

more

in existing versions of Notepad++.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1203 Exploitation for Client Execution Execution
Adversaries may exploit software vulnerabilities in client applications to execute code.
T1210 Exploitation of Remote Services Lateral Movement
Adversaries may exploit remote services to gain unauthorized access to internal systems once inside of a network.
T1212 Exploitation for Credential Access Credential Access
Adversaries may exploit software vulnerabilities in an attempt to collect credentials.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2023-40166Same product: Notepad-Plus-Plus Notepad\+\+
CVE-2023-40164Same product: Notepad-Plus-Plus Notepad\+\+
CVE-2023-40036Same product: Notepad-Plus-Plus Notepad\+\+
CVE-2026-27654Shared CWE-120, CWE-122
CVE-2024-56805Shared CWE-120, CWE-122
CVE-2025-48724Shared CWE-120, CWE-122
CVE-2025-52868Shared CWE-120, CWE-122
CVE-2023-41275Shared CWE-120, CWE-122
CVE-2025-52870Shared CWE-120, CWE-122
CVE-2025-48723Shared CWE-120, CWE-122

Affected Assets

notepad-plus-plus
notepad\+\+
≤ 8.5.6

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V5.2.1
  • V1.4.1

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-120

Platform-independent managed code eliminates the need for unchecked native buffer copies that are the root cause of classic buffer overflows.

Mitigating Controls (NIST CSF 2.0) AI

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

PR.PS-06 full match
prevents

Secure-development practices directly require bounds checking and safe memory handling that prevent heap overflows.

ID.RA-01 partial match
prevents

Vulnerability identification processes such as code review or scanning detect classic buffer overflows before exploitation.

PR.PS-02 partial match
prevents

Routine patching replaces vulnerable code containing unchecked buffer copies with corrected versions.

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.

prevents

Secure coding directly requires bounds-checked memory operations, addressing the root cause of CWE-120.

finds

Security testing in development and acceptance can detect buffer overflows through fuzzing and static analysis, though it does not prevent them at the source.

prevents

Secure development life cycle mandates processes that can include input validation and bounds checking to prevent buffer overflows.

prevents

Application security requirements can specify input-size validation and safe buffer handling to mitigate classic buffer overflows.

prevents

Secure system architecture and engineering principles promote defensive coding patterns that reduce the likelihood of unchecked buffer copies.

none

Change management ensures controlled deployment of fixes for discovered heap-overflow vulnerabilities.

References