Skip to main content

GrandNode2 EUVDEUVD-2026-104526

| CVE-2026-112248 MEDIUM
Path Traversal (CWE-22)
2026-10-19 cna@vuldb.com GHSA-p292-jmx8-v7fj
5.1
CVSS 4.0 · Vendor: vuldb
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with catalog import privileges
  2. Exploit
    Set Picture1/2/3 to arbitrary server path
  3. Execution
    Import Excel triggers File.ReadAllBytes on path
  4. Impact
    Server 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

grandnode2 2.1
grandnode2 2.2
grandnode2 2.0
grandnode2 2.3.0

Affected Packages

euvd grandnode2 no fix

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

Vendor (vuldb) PRIMARY 5.1 MEDIUM
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
vuln.today AI 4.9 MEDIUM

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.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vuldb).

CVSS VectorVendor: vuldb

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.6%
Top 53% exploitable
Prevalence
Low
niche open-source .NET e-commerce platform, limited enterprise footprint
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.6%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy