Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain local unprivileged account
-
DeliveryPre-create symlink at predictable /tmp path
-
ExploitVictim runs pdfread or nuke plugin
-
ExecutionPlugin follows symlink and truncates target
-
ImpactOverwrite file writable by victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Secure temp file creation
|
| Exploitation Conditions | Requires a local unprivileged account on the same host and the ability to write into /tmp (or $TMPDIR). The attacker must pre-create a symlink at the predictable target path before the victim acts: for pdfread this is the name-derived path '${TMPDIR:-/tmp}/<basename-without-extension>', and for nuke's listimages it is the PID-derived '${TMPDIR:-/tmp}/nuke_$$'. The victim must then actively invoke the pdfread or nuke plugin within nnn (UI:A) - for the name-derived case, typically on an attacker-influenced filename; for the PID-derived case, the attacker must also predict/guess the victim's process PID (reflected as AT:P). Limiting factors: no remote vector (local only), authenticated local access needed (PR:L), mandatory victim interaction, and impact bounded to files the victim can already write - so shared/multi-user systems are the realistic exposure, and single-user desktops are largely unaffected. |
| Impact | This is a genuinely low-to-moderate real-world risk, not a critical priority despite the CWE-377 class. The supplied CVSS 4.0 vector (AV:L/AC:L/AT:P/PR:L/UI:A, score 4.1) describes a local, privilege-requiring attack that also needs victim interaction (UI:A) and a non-guaranteed attack requirement (AT:P) - all of which sharply constrain exploitability. There is no KEV listing and no EPSS score in the input, so there is no evidence of active or widespread exploitation; exploitation status is 'no public exploit identified at time of analysis.' The vuln.today Decision label is 'this_month' (moderate urgency, not act_now/emergency), which is consistent with the low CVSS and the absence of exploitation signals. The only impact is integrity (VI:H): overwriting/truncating files the victim can already write, with no confidentiality (VC:N) or availability-of-system (VA:N) impact. One signal conflict to note: the input Tag 'Information Disclosure' contradicts the CVSS vector, which shows VC:N (no confidentiality impact) and VI:H - this is a file-overwrite/integrity flaw, not disclosure. Net: low priority for most defenders; patch within the normal cycle unless nnn is run by privileged users on shared multi-user hosts, where the integrity impact is more meaningful. |
| Exploit ScenarioDerived | On a shared multi-user host, a local unprivileged attacker pre-creates a symbolic link at the predictable /tmp path that nnn's pdfread or nuke plugin will use (derived from the input file's basename for pdfread, or the PID-based /tmp/nuke_$$ for nuke). When the victim later opens a PDF or previews images through those plugins, the plugin follows the symlink and truncates/overwrites the link target with the victim's privileges, corrupting any file the victim can write. No confirmed working exploit code is identified, though the vulnerable code paths are documented in the VulnCheck advisory and the linked source lines. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
The pdfread and nuke plugins shipped with nnn through version 5.3 write to predictable, name- and PID-derived paths under ${TMPDIR:-/tmp}, letting another local user on the same host pre-create a symlink there so the victim's plugin run truncates and overwrites any file the victim can write. Exploitation requires an authenticated local account, write access to the temp directory, and the victim actively invoking the plugin (for the nuke listimages path the attacker must also predict the victim's PID), which confines realistic exposure to shared multi-user systems rather than single-user desktops. There is no remote vector and no public exploit code identified at time of analysis; an upstream commit fixing the plugin temp-file handling is available.
RemediationAI
Vendor patch status: upstream fix available (commit 04715921aece0257fef7a8558c0783493d98efff, https://github.com/jarun/nnn/commit/04715921aece0257fef7a8558c0783493d98efff); a released tagged version containing it is not independently confirmed, so track the jarun/nnn releases page or backport the commit into your packaged copy - the change is confined to plugins/pdfread, plugins/nuke, plugins/togglex and src/nnn.c. Until that lands, the practical workaround for the plugin temp path is to point TMPDIR at a directory only the user can write (a private per-user temp dir) for nnn sessions, which removes the pre-creation window but changes where all nnn temp output goes; note that this does not address the separately hardened FIFO handling in src/nnn.c, so the commit remains the complete fix. On shared multi-user hosts, restricting plugin use (or the whole nnn deployment) to trusted users is the remaining compensating control and does not fix the underlying predictable-path behaviour.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-377 (Insecure Temporary File): both shell plugins build a temp path from attacker-influenceable or guessable components instead of allocating a unique file safely. In plugins/pdfread the target was '${TMPDIR:-/tmp}/<basename of input with extension stripped>', so the path is derived from the filename the user previews; in plugins/nuke's listimages it was '${TMPDIR:-/tmp}/nuke_$$', derived from the victim shell's PID. Because those names are predictable, a local attacker who can write to the same temp directory can plant a symlink at the expected path before the victim triggers the plugin, and the plugin's redirection then truncates the link target with the victim's privileges - limited to files the victim can already write (integrity-only impact, no confidentiality or availability impact in the assessed vector). The upstream fix replaces both hand-built paths with 'mktemp -d "${TMPDIR:-/tmp}/pdfread.XXXXXX"' / 'nuke.XXXXXX' directories plus a 'trap rm -rf' cleanup, and the same commit hardens the FIFO notification path in src/nnn.c by adding open_fifo() with O_NOFOLLOW, fstat/S_ISFIFO validation, and lstat/S_ISFIFO checks around mkfifo, and fixes quoting in plugins/togglex.
Know when Nnn gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Local account needed to plant the symlink (PR:L), victim must run the plugin (UI:R), success depends on a predictable-path/PID condition (AC:H), and impact is integrity-only file overwrite (I:H, C/A:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
nnn through 5.3 contains an insecure temporary file vulnerability in the pdfread and nuke plugins that allows local attackers to overwrite files by exploiting predictable paths in /tmp. Attackers can pre-create a symlink at the name-derived or PID-derived path so the victim's plugin truncates and overwrites any file the victim can write.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Arbitrary command execution in nnn through 5.3 (CVSS 8.4 High) occurs when the togglex plugin processes selected filenam
OS command injection in nnn file manager version 5.2 allows arbitrary shell command execution when a victim navigates to
Shell command injection in nnn file manager version 5.2 allows an attacker who controls a directory name on a shared fil
Integer truncation in the nnn terminal file manager (version 5.2 confirmed vulnerable) allows a local attacker who contr
Out-of-bounds write in nnn terminal file manager version 5.2 allows a local attacker who can place a malicious session f
Local file-write redirection and path disclosure in the nnn terminal file manager (through version 5.3) affect users who
EUVD-2026-115894
NVD
CVE.org
GitHub
Exploit-DB