Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
MediumPublic exploit

Format String Injection in Notepad++ FindInFiles nativeLang.xml Handling

IdentifiersCVE-2026-3008CWE-134· Use of Externally-Controlled…

CVE-2026-3008 is a format-string/string-injection vulnerability in Notepad++ affecting at least version 8.9.3 and fixed in 8.9.4. The flaw is in the FindInFiles functionality’s handling of the nativeLang.xml localization/configuration file, specifically the "find-result-hits" value. According to the provided content, attacker-controlled format specifiers embedded in that field are passed to wsprintfW as a format string. If the value contains crafted specifiers such as repeated "%s" tokens, wsprintfW interprets stack values as pointers, which can trigger invalid dereferences and an Access Violation (C0000005), crashing the application. If the value contains hexadecimal specifiers such as "%016llx", wsprintfW can disclose stack or register-derived values, which are then rendered in the Find Results panel during a search operation. The issue was addressed in Notepad++ 8.9.4.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation can cause denial of service by crashing Notepad++ during FindInFiles operations, and can disclose memory address information or other raw values exposed through format-string processing. The disclosed addresses could aid follow-on exploitation, for example by weakening ASLR assumptions, but the provided content states that direct remote code execution is not achievable through this vulnerability. Operationally, exploitation may disrupt user workflows and may result in loss of unsaved work if the application terminates unexpectedly.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, prevent untrusted modification of nativeLang.xml and review that file for unsafe format specifiers in the "find-result-hits" entry, particularly "%s" and other printf-style tokens such as "%llx". Restrict write access to the Notepad++ configuration location (%APPDATA%\Notepad++\nativeLang.xml for standard installs, or the application directory for portable installs), avoid deploying untrusted localization/custom configuration files, and monitor for abnormal Notepad++ crashes or unexpected Find Results output that could indicate attempted exploitation.

Remediation

Patch, then assume compromise.

Upgrade Notepad++ to version 8.9.4 or later, which fixes the FindInFiles crash/format-string issue associated with CVE-2026-3008. Obtain the update from official Notepad++ distribution channels and verify package integrity using the vendor-provided signatures or SHA-256 digests where available. For enterprise deployments, roll out 8.9.4 through normal patch-management processes, especially on systems using customized nativeLang.xml files.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 1 / 1 TOTALView more in app
cve-2026-3008MaturityPoCVerified exploit

This repository is a small proof-of-concept exploit package for CVE-2026-3008 affecting Notepad++ 8.9.3 on Windows. It is not tied to a common exploit framework. The repo contains one explanatory README and three XML payload files under payloads/. The exploit is file-based and local in delivery: it relies on replacing or planting a malicious nativeLang.xml localization file that Notepad++ loads when localization is enabled. The vulnerable data flow described in the README is nativeLang.xml -> TinyXML parser -> NativeLangSpeaker UTF conversion -> sub_140099E60 -> wsprintfW, where the <find-result-hits> attribute is used directly as a format string. Because wsprintfW is invoked with only the format string and no matching variadic arguments, attacker-supplied specifiers read stale register/stack values. The provided payloads demonstrate two practical outcomes: reliable denial of service using repeated %s specifiers that dereference invalid pointers and crash Notepad++, and information disclosure using %08lx or %x specifiers that render stack/register-derived values in the Find Results panel. The README explicitly notes that wsprintfW does not support %n and that the output limit matches the destination buffer, so the demonstrated impact is limited to crash and memory disclosure rather than code execution. Repository structure is straightforward: README.md documents the vulnerability, trigger conditions, affected functions and addresses, and exploitation constraints; payloads/formatstring_crash.xml provides a crash-oriented payload; payloads/formatstring_leak.xml provides a memory disclosure payload; payloads/formatstring_perX.xml provides a simpler hexadecimal leak variant. The exploit triggers when the victim performs a search operation that yields results, including Find All, Find in Files, Replace All, or Mark All.

llgsjsmDisclosed Apr 20, 2026markdownxmlfilelocal
What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity13

Community discussion across Reddit, Mastodon, and other social sources.