Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with catalog import privileges
-
ExploitSet Picture1/2/3 to arbitrary server path
-
ExecutionImport Excel triggers File.ReadAllBytes on path
-
ImpactServer file read and stored as product picture
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated user with access to GrandNode2's Excel product-import feature (admin/catalog import role - reflected by CVSS PR:H), which must be enabled and reachable. The concrete trigger is supplying a local filesystem path in the Picture1, Picture2, or Picture3 columns of the imported Excel; the vulnerable PrepareProductPictures/LoadPicture code read that path directly via File.ReadAllBytesAsync with no http(s)/host validation. Limiting factors: exploitation is gated by high privilege (not exploitable by anonymous/low-privilege users), and only affects versions up to 2.3.0 (fixed in 2.4.0). Impact is bounded to files readable by the application's service account and is most severe where imported pictures are subsequently served or viewable. |
| Impact | This is a medium-severity, privilege-gated path traversal (CWE-22) in GrandNode2's Excel product import, not a high-urgency internet-facing threat. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/PR:H/UI:N, score 5.1) confirms network reach but requires HIGH privileges (PR:H) - i.e. an authenticated administrator with catalog/import rights - which is the single most important mitigating signal and caps real-world risk. No EPSS score, no CISA KEV listing, and no public POC are present in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The GitHub source evidence corroborates the mechanism: the pre-fix LoadPicture/PrepareProductPictures code called File.ReadAllBytesAsync on the attacker-supplied Picture path, allowing an importer to read arbitrary server-side files; the 2.4.0 fix removes local-path reads entirely and only downloads http(s) URLs from allowed hosts. One tension to note: VulDB/NVD rate confidentiality/integrity/availability impact as all LOW (VC:L/VI:L/VA:L), but arbitrary server-file disclosure is typically a HIGH confidentiality impact - verify impact scoring against your own file-exposure exposure (whether imported 'pictures' are publicly served). Net: a legitimate issue to patch, but the PR:H barrier makes it a routine-priority fix rather than an emergency, absent any exploitation or POC signal. |
| Exploit ScenarioDerived | An authenticated administrator (or an attacker who has compromised an admin/import-capable account) uploads a crafted Excel product-import file and sets the Picture1/Picture2/Picture3 column to a local filesystem path such as a config or credentials file instead of an image. GrandNode2 reads that path via File.ReadAllBytes and ingests the file content as a product picture, disclosing arbitrary server-side file contents. No public POC is identified in the provided data; exploitation requires high privileges per CVSS PR:H. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Path traversal in GrandNode2 through 2.3.0 lets an authenticated administrator with access to the Excel product-import feature read files from the server by supplying local filesystem paths in the Picture1, Picture2, or Picture3 columns; the vulnerable code passes those values to file-read operations without http(s) or host validation. The issue is medium severity, high-privilege gated, and fixed in 2.4.0; no public exploit identified at time of analysis.
RemediationAI
Upgrade GrandNode2 to 2.4.0, which is the vendor-released fixed version, and deploy the associated commit 2abbaed232080ad74949c6f35581f0351e309972 (PR 862); see the GHSA advisory at https://github.com/grandnode/grandnode2/security/advisories/GHSA-8wj3-7vmm-69rj and release notes at https://github.com/grandnode/grandnode2/releases/tag/2.4.0. If upgrade cannot be immediate, restrict Excel import to a small set of trusted administrator accounts and disable the feature when not needed, understanding this may break catalog population workflows; run the application under a least-privilege service account so a successful traversal can read only a limited set of files, accepting that this may interfere with image handling and other file operations; and review or monitor import activity and uploaded picture records for local filesystem paths until the patch is applied.
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
GrandNode2 is an ASP.NET Core e-commerce platform whose Excel import pipeline uses data objects such as ProductImportDataObject.PrepareProductPictures and LoadPicture to attach images. In versions up to 2.3.0, LoadPicture accepted a local path, checked File.Exists, and read the file with File.ReadAllBytesAsync, so attacker-controlled Picture1/Picture2/Picture3 values could traverse outside the intended picture directory (CWE-22 path traversal). The patch removes MimeTypeExtensions and replaces direct local file reads in product, brand, category, and collection import objects with DownloadUrl.DownloadImage, restricted by SecurityConfig.PictureImportAllowedPrivateHosts; the commit comment explicitly notes that a local path would let import read any server file. The CVSS 4.0 vector reports PR:H, matching the independent CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N assessment: remote but requiring high privileges, with confidentiality impact only, bounded to files readable by the application service account. No CPE strings were supplied.
Know when the next one hits your stack
- 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:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Arbitrary server-file read gives C:H; reachable over network via import UI (AV:N/AC:L) but gated behind an admin/import role, so PR:H; no integrity or availability impact.
Primary rating from Vendor (vuldb).
CVSS VectorVendor: vuldb
DescriptionCVE.org
A security vulnerability has been detected in grandnode grandnode2 up to 2.3.0. This impacts the function ProductImportDataObject.PrepareProductPictures of the component Excel Import. The manipulation of the argument Picture1/Picture2/Picture3 leads to path traversal. The attack can be initiated remotely. Upgrading to version 2.4.0 will fix this issue. The identifier of the patch is 2abbaed232080ad74949c6f35581f0351e309972. It is suggested to upgrade the affected component. The vendor was contacted early about this disclosure.
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
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
EUVD-2026-104526
GHSA-p292-jmx8-v7fj
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB