Skip to main content

StockAgile CVE-2026-6086

| EUVDEUVD-2026-86623 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-25 INCIBE GHSA-rhw3-2pp5-p7xw
5.1
CVSS 4.0 · Vendor: INCIBE
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to StockAgile panel
  2. Delivery
    POST payload to /inventory/configuration/serial-number-types
  3. Exploit
    Store unsanitized script in code/name field
  4. Execution
    Victim user opens configuration panel
  5. Persist
    Script executes in victim browser session
  6. Impact
    Session/token theft or privileged actions

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires: (1) a valid authenticated account on the StockAgile management panel with permission to write to the REST endpoint '/inventory/configuration/serial-number-types' (PR:L); and (2) a second authenticated user subsequently viewing the panel page that renders the stored 'code', 'name', or other text-field values, satisfying the UI:P/passive-interaction requirement. The injection point is server-side input validation/output-encoding failure on those text parameters. Limiting factors: the attacker cannot exploit this unauthenticated, the payload only fires when an authenticated victim loads the affected panel view, and impact is confined to the victim's browser context (no direct server compromise, VA:N/no availability impact).

Impact

This is a genuine but modest-severity issue best treated as routine-priority patching rather than an emergency. The vendor-provided CVSS 4.0 vector (5.1, Medium) is internally consistent with the description: AV:N (the REST endpoint '/inventory/configuration/serial-number-types' is network-reachable), AC:L, PR:L (attacker must already be an authenticated panel user), and UI:P (a victim user must later view the affected panel page for the stored payload to fire). Impact is limited to VC:L/VI:L with VA:N and no subsequent-system impact (SC/SI/SA:N), which is appropriate for a script-context stored XSS confined to the browser session of authenticated users. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The main real-world limiter is the PR:L requirement - an attacker needs valid credentials to inject, making this most relevant as a privilege-escalation/lateral-movement primitive among authenticated users (e.g., a low-privileged operator attacking an admin) rather than an internet-wide unauthenticated threat. No signals conflict; all point to a real-but-contained, authentication-gated flaw.

Exploit ScenarioDerived

A low-privileged but authenticated StockAgile user submits a serial-number-type record via the REST API with a malicious JavaScript payload in a text field such as 'code' or 'name'. The unsanitized value is persisted server-side and later rendered in the management panel, so when a higher-privileged authenticated user (e.g., an administrator) views that configuration screen, the script executes in their browser session. No public exploit code was provided in the intelligence sources.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 25, 2026

Stored cross-site scripting in the StockAgile API and management panel lets a remote authenticated user persist malicious JavaScript into the REST endpoint '/inventory/configuration/serial-number-types' through text parameters such as 'code' and 'name', which the server fails to validate or encode before rendering them back in the web panel. The payload executes in the browser of any authenticated operator who subsequently opens the affected panel view, in the context of that user's session, but it does not compromise the server itself. Exploitation is not unauthenticated: the CVSS 4.0 vector reports PR:L, so the attacker must already hold a valid account with write access to that endpoint, and the impact stays within the victim's browser context (VC:L/VI:L/VA:N). No public exploit code or confirmed active exploitation was identified at time of analysis, and while a vendor patch is available, the issue is best handled as routine-priority patching rather than an emergency given its low severity and privilege prerequisites.

RemediationAI

Vendor-released fixes are available: the patch reference points to the INCIBE-CERT advisory at https://www.incibe.es/en/incibe-cert/notices/aviso/stored-cross-site-scripting-stockagile-novadigits-technologies, which documents the vendor's corrective release - retrieve the exact patched StockAgile version from that advisory and upgrade all panel and API instances accordingly, since no version number is enumerated in the CPE data. Until the upgrade is applied, the most effective compensating control is to restrict write access to '/inventory/configuration/serial-number-types' to the smallest possible set of trusted administrative roles, because the injection vector is an authenticated write and the population of users who can poison stored configuration values shrinks accordingly (trade-off: serial-number type administration becomes a gated, possibly ticket-driven task). Additionally, sanitize or reject HTML metacharacters in the 'code', 'name', and other free-text fields at the API layer, or neutralize stored values with context-aware HTML entity encoding at render time in the panel - both are development-side changes and cannot be applied as a pure configuration workaround. Deploying a strict Content-Security-Policy on the management panel that disallows inline and third-party script execution limits payload detonation even if malicious values remain stored (trade-off: legitimate inline scripts and third-party widgets in the panel may break and need allowlisting). Operators should also audit existing serial-number-type records for injected markup and purge any poisoned entries, since patching the code does not remove already-persisted payloads.

Affected VersionsENISA

StockAgile 0 <25/09/2026

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is a classic CWE-79 improper neutralization of input during web page generation (cross-site scripting), here in its stored/persistent variant. StockAgile is a NovaDigits Technologies inventory and warehouse management product exposing a REST API alongside an administrative web panel; the affected resource, '/inventory/configuration/serial-number-types', is a configuration endpoint whose records (serial number type definitions) are persisted server-side and later rendered in the panel's UI. Because the server performs neither input validation on write nor output encoding on render for fields like 'code' and 'name', an attacker can save JavaScript-bearing values that are stored in the application database and re-emitted into HTML whenever a user views the configuration screen. The CPE cpe:2.3:a:novadigits_technologies:stockagile:*:*:*:*:*:*:*:* uses a wildcard version, indicating the vendor has not published per-version CPE boundaries and that all currently enumerated StockAgile versions should be treated as potentially affected until the advisory's fixed release is applied. The assessed CVSS:3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) confirms the network-reachable, low-complexity nature of the flaw while underscoring that it requires a valid authenticated account to inject and passive interaction from a second authenticated user to trigger; the scope change reflects that the injected script executes with the privileges of the victim's session rather than the attacker's origin.

Know when Stockagile 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

Vendor (INCIBE) PRIMARY 5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Network-reachable authenticated API (PR:L) with stored payload firing only when a victim loads the panel (UI:R); script escaping into another user's browser context is a scope change (S:C) with low C/I and no availability impact.

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

Primary rating from Vendor (INCIBE).

CVSS VectorVendor: INCIBE

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

DescriptionCVE.org

Stored Cross-Site Scripting (XSS) vulnerability in StockAgile API and management panel. The vulnerability is present on the server side in REST endpoint '/inventory/configuration/serial-number-types' that allow the injection and persistence of malicious JavaScript code through parameters such as ‘code’, ‘name’, and other text fields. The scripts that are entered are not filtered or validated correctly before being displayed on the web panel that authenticated users can access. Exploiting this vulnerability could allow a remote, previously authenticated attacker to execute arbitrary JavaScript code.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche retail/inventory management product from a small vendor, limited enterprise footprint
Data Quality
4 sources
Confidence: Medium

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.2%
Patch available Yes
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

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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