SecurinZero Days
    Email Us
    Zero-Day Research/CVE-2026-5525
    ▲ MediumCVSS 6✓ PatchedEPSS 0.00013%

    Stack-Based Buffer Overflow in Notepad++ File Drop Handler leads to DoS

    A stack-based buffer overflow vulnerability exists in Notepad++ version 8.9.3 in the file drop handler component. When a user drags and drops a directory path of exactly 259 characters without a trailing backslash, the application appends a backslash and null terminator without proper bounds checking, resulting in a stack buffer overflow and application crash (STATUS_STACK_BUFFER_OVERRUN).

    CVE IDCVE-2026-5525
    CVSS v3.16 Medium
    VendorNotepad++ Project
    CWECWE-121
    DisclosedMar 31, 2026
    StatusFixed (v8.9.4+)
    All advisories
    • 01Description
    • 02Proof of Concept
    • 03Vulnerable Code
    • 04Trigger Conditions
    • 05Impact
    • 06Remediation
    • 07Timeline
    • 08References
    01/Description

    What this actually is.

    Technical background, root cause, and affected surface.

    A stack-based buffer overflow vulnerability exists in Notepad++ version 8.9.3 within the file drop handler component (PowerEditor/src/Notepad_plus.cpp, lines 4514-4526). The vulnerability is triggered when a user drags and drops a directory path of exactly 259 characters (MAX_PATH - 1) without a trailing backslash onto the Notepad++ application window.

    When processing the dropped path, the application attempts to append a backslash and a null terminator to the buffer without performing adequate bounds checking. Since the buffer is declared as wchar_t pathDropped[MAX_PATH] (260 elements, indices 0-259), and the path already occupies 259 characters, the null terminator write at index 260 overflows the stack-allocated buffer, resulting in a STATUS_STACK_BUFFER_OVERRUN (0xC0000409) error.

    Vendor
    Notepad++ Project
    Affected Product
    Notepad++ v8.9.3
    CVE
    CVE-2026-5525
    Securin ID
    -
    Status
    Fixed (v8.9.4+)
    Date
    March 31, 2026
    Severity
    Medium
    CVSS Score
    6
    Vector
    CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
    CWE
    CWE-121
    02/Proof of Concept

    From one request
    to root shell.

    Reproduced in a sandboxed environment. Requires only LAN or WiFi adjacency.

    6CVSS 3.1
    VectorCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
    ScopeUnchanged
    ImpactC:H / I:H / A:N
    SeverityMedium
    PoC · Exploitation Steps▲ trigger
    01The following steps reproduce the vulnerability:02Step 1: Enable Win32 long path support on the target Windows system (requires registry modification or Group Policy change, as this is not enabled by default).03Step 2: Create a nested directory structure where the full path is exactly 259 characters long (e.g., C:\aaa...aaa\bbb...bbb totaling 259 characters).04Step 3: Launch Notepad++ version 8.9.3.05Step 4: Open Windows File Explorer and navigate to the parent of the crafted directory.06Step 5: Drag and drop the 259-character directory onto the Notepad++ window.07Step 6: Notepad++ crashes immediately with a STATUS_STACK_BUFFER_OVERRUN (0xC0000409) exception.
    03/Vulnerable Code

    The bug, and the fix.

    The following code in Notepad_plus.cpp demonstrates the vulnerable pattern:

    typescript
    wchar_t pathDropped[MAX_PATH];  // 260 elements, indices 0-259
    DragQueryFile(hdrop, i, pathDropped, MAX_PATH);
    // ...
    if (::PathIsDirectory(pathDropped))
    {
        size_t len = lstrlen(pathDropped);
        if (pathDropped[len - 1] != '\\')
        {
            pathDropped[len] = '\\';       // Valid write at index 259
            pathDropped[len + 1] = '\0';   // OVERFLOW at index 260!
        }
    }
    04/Trigger Conditions

    When does this fire?

    All conditions must be true for the exploit to succeed.

    01

    Notepad++ version 8.9.3 running on Windows (x86 or x64)

    Required
    02

    A directory path exactly 259 characters long

    Required
    03

    The directory path does not end with a trailing backslash

    Required
    04

    The user drags the directory onto the Notepad++ application window

    Required
    05

    Windows long paths must be enabled (a non-default configuration)

    Required
    Step 1

    Initial Access

    User Execution

    Step 2

    Execution

    Exploitation for Client Execution

    Step 3

    Impact

    Endpoint Denial of Service

    MITRE ATT&CKT1204 · User ExecutionT1203 · Exploitation for Client ExecutionT1499 · Endpoint Denial of Service
    05/Impact

    What an attacker does to you.

    Post-exploitation outcomes mapped to CVSS impact metrics.

    Successful exploitation of this vulnerability results in the following:

    Medium

    Denial of Service (DoS): Reliable application crash triggered by the stack buffer overrun, causing immediate termination of Notepad++ and potential loss of unsaved work.

    CIA Impact

    C:H · I:H · A:N

    CWE-121

    06/Remediation

    Fix it. In this order.

    A runbook, not a checklist. Sequence matters — assume compromise before you act.

    01

    Update Notepad++ to the latest version which includes the fix.

    N/A

    The vulnerability was remediated by adding proper bounds validation before appending characters to the buffer. The fix ensures the buffer length is checked against MAX_PATH before the write operation.

    Securin advisory — For coordinated remediation support or threat-actor briefings related to CVE-2026-5525, contact disclose@securin.io
    07/Disclosure Timeline

    Vendors moved in days.
    Attackers in hours.

    Reconstructed from vendor advisories, CISA bulletins, and Securin research records.

    March 31, 2026

    Vulnerability reported

    April 3, 2026

    Fix submitted by @xomx via Pull Request #17930

    April 4, 2026

    Pull request reviewed and approved by @donho (project maintainer)

    April 4, 2026

    Fix merged into main branch (commit bfe7514)

    April 4, 2026

    GitHub Issue #17921 closed as completed

    Timeline recorded · Disclosure coordinated by Securin

    08/References

    Cite, verify, go deeper.

    Primary sources — NVD, CISA KEV, and machine-readable IoC feed.

    NVD

    NVD — CVE-2026-5525

    nvd.nist.gov/vuln/detail/CVE-2026-5525 →
    SEC

    Securin VI — Full Technical Analysis

    vi.securin.io →
    GITHUB

    GitHub Issue: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/17921

    https://github.com/notepad-plus-plus/notepad-plus-plus/issues/17921 →
    GITHUB

    GitHub Pull Request: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/17930

    https://github.com/notepad-plus-plus/notepad-plus-plus/pull/17930 →
    GITHUB

    Fix Commit: https://github.com/notepad-plus-plus/notepad-plus-plus/commit/bfe7514d68bc559534c046c4ef2d1865267aa2b0

    https://github.com/notepad-plus-plus/notepad-plus-plus/commit/bfe7514d68bc559534c046c4ef2d1865267aa2b0 →
    REF

    CWE-121: Stack-based Buffer Overflow — https://cwe.mitre.org/data/definitions/121.html

    Stack-based Buffer Overflow — https://cwe.mitre.org/data/definitions/121.html →

    Let Securin level up your security posture.

    Get a live exposure assessment, threat-actor briefing tailored to your sector, and IoC mapping for your SIEM.

    Browse all advisories
    SecurinSecurinZero Days

    Securin's zero-day research operation combines frontier AI models with a decade of offensive expertise — discovering, validating, and coordinating the disclosure of high-impact vulnerabilities at a scale and speed no human team achieves alone.

    Glossary
    © 2026 Securin Inc · CVE Numbering Authority
    Privacy Policy·Data Processing Addendum