Skip to main content

Part-DB EUVDEUVD-2026-108580

| CVE-2026-86020 MEDIUM
Improper Input Validation (CWE-20)
2026-10-23 GitHub_M
4.6
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with part-import permission
  2. Delivery
    Import CSV with formula-prefixed field (=1+1)
  3. Exploit
    Value stored unneutralised in part field
  4. Execution
    Victim exports parts as XLSX
  5. Impact
    Victim opens file, spreadsheet evaluates formula

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Requires an authenticated Part-DB account holding the '@parts.import' permission; the attacker imports a CSV where user-controlled part fields (e.g. the comment field) begin with a spreadsheet formula character (=, +, -, or @), which Part-DB stores without neutralisation. Exploitation only completes when a SECOND user with read access to those parts exports them as XLSX/XLS (via /parts/export) and opens the resulting file in spreadsheet software that evaluates formulas. Limiting factors that reduce realistic risk: the import permission is required, the payload does not execute in Part-DB itself (CWE-1236, no server-side code execution), success is contingent on a separate victim's export-and-open action (UI:R), and modern spreadsheet clients warn on or disable formula evaluation and external references by default. The flaw is most relevant in multi-user deployments where semi-trusted users can seed part data later exported by others.

Impact

This is a medium-severity, low-urgency issue rather than a top priority. The vendor CVSS of 4.6 (CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) already reflects limited impact, and the decision signal is 'this_month' - not act_now or emergency. There is no CISA KEV listing and no EPSS score supplied in the input, so no evidence of active exploitation or mass-scanning pressure. The GHSA advisory includes a step-by-step proof of concept, but it uses a benign '=1+1' payload to demonstrate the flaw; a public PoC reference exists, but it is not verified as working weaponized exploit code. Signals are internally consistent: this is a stored spreadsheet (formula/CSV) injection, CWE-1236, that depends on a second user exporting and opening a crafted spreadsheet, which explains the scope change (S:C) and the mandatory user interaction (UI:R). I assess the attack vector as network (the attacker injects via the Part-DB web import feature) rather than the vendor's AV:L; the vendor's AV:L likely reflects that the formula only executes on the victim's local machine - this difference is worth noting but does not change the overall low-to-medium priority. Real-world impact is gated by the victim's spreadsheet client, which in modern Excel/LibreOffice warns on or disables formulas and external references by default.

Exploit ScenarioDerived

In a multi-user Part-DB deployment, a lower-privileged user with import permission uploads a CSV whose part fields (e.g. the comment field) begin with a formula character such as '=', '+', '-' or '@'. The value is stored verbatim, and when an administrator or another user later exports those parts to XLSX and opens the file, their spreadsheet software may evaluate the injected formula - potentially triggering external URL requests or data exfiltration via formula-based references. A detailed public PoC reference exists in the GHSA advisory demonstrating the '=1+1' case; it is not verified as working weaponized exploit code, and exploitation requires AC:L but mandatory victim interaction (UI:R).

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

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

Alert me

AnalysisAIv1 – Oct 23, 2026

Spreadsheet formula injection in Part-DB through 2.13.1 lets an authenticated user who holds the '@parts.import' permission store formula-prefixed strings (for example =1+1) in user-controlled part fields via CSV import, which are later written into XLSX/XLS exports as live formula cells instead of plain text. The payload does not execute inside Part-DB itself; it only becomes dangerous when a second user with read access to those parts runs the export at /parts/export and opens the file in spreadsheet software that evaluates formulas, so impact is limited to data exposure, external reference requests, or misleading content in the victim's client (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, medium). A detailed public PoC using a benign =1+1 payload accompanies the GitHub advisory; it is a demonstrated reference and is not verified as working exploit code for data exfiltration, and there is no KEV listing or evidence of active exploitation. Risk is concentrated in multi-user deployments where semi-trusted users can seed part data that more privileged users later export.

RemediationAI

Upgrade to Part-DB 2.13.2 or later, which contains the vendor fix for formula injection during Excel export; the release is available at https://github.com/Part-DB/Part-DB-server/releases/tag/v2.13.2 and the advisory at https://github.com/Part-DB/Part-DB-server/security/advisories/GHSA-hxw4-frfg-f8jw should be reviewed for the maintainers' stated scope and any additional guidance. If immediate upgrade is not possible, restrict the '@parts.import' permission to accounts that are already trusted to influence data other users will open, since the injection step requires that permission and the export step merely needs read access to the poisoned parts; the trade-off is reduced self-service import capability for regular users. Additionally, treat XLSX/XLS files exported from instances that may contain untrusted part data as untrusted input: on the consuming workstation, keep Protected View/sandboxing enabled, and where policy allows, disable automatic formula evaluation and external data/reference fetching in the spreadsheet client, at the cost of blocking legitimate cross-workbook links. Neither workaround removes the stored formula payload, so patched export handling remains the complete fix.

Affected VersionsENISA

Part-DB-server < 2.13.2

Affected Packages

euvd part_db_server fix: 2.13.2

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

Part-DB is a PHP/Symfony inventory application for electronic components. The vulnerable path spans two features: the part import route (/parts/import, gated by '@parts.import') passes an uploaded CSV to a generic entity importer that deserialises it under the 'import' serializer group and persists values without neutralising the leading spreadsheet metacharacters =, +, - or @; and the export route (/parts/export) serialises selected parts back to CSV via the Symfony serializer, then EntityExporter::exportToExcel() re-parses that CSV with str_getcsv() and writes every column through PhpSpreadsheet's setCellValue(), which treats a leading '=' as a formula and emits a <f> element in xl/worksheets/sheet1.xml. The root cause is improper input validation/neutralisation of user-controlled data before it reaches a formula-aware sink (CWE-20, classified by the maintainers as CWE-1236 formula injection). Importantly this is a client-side injection class: nothing executes on the Part-DB server, so the AV:N/PR:L/UI:R/S:C vector reflects a network-reachable authenticated workflow whose real impact lands on a separate exporting user's spreadsheet client.

Know when Part Db 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 (GitHub_M) PRIMARY 4.6 MEDIUM
AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
vuln.today AI 5.4 MEDIUM

Attacker injects remotely via the authenticated web import feature (AV:N, PR:L), but code executes only in a separate victim's spreadsheet, so UI:R and S:C with C:L/I:L 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:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Oct 23, 2026 - 05:01 EUVD

DescriptionCVE.org

Part-DB is an open source inventory management system for electronic components. Prior to version 2.13.2, Part-DB contains a spreadsheet formula injection vulnerability in the part import/export workflow. An authenticated user with permission to import parts can import a CSV file containing formula-prefixed values, such as =1+1, into user-controlled part fields. When the affected part is later exported as an XLSX spreadsheet, Part-DB writes the attacker-controlled value using PhpSpreadsheet's setCellValue() method without neutralising spreadsheet formula characters. As a result, the exported XLSX file contains an executable spreadsheet formula cell rather than a plain text value. If another user exports and opens the spreadsheet, the formula may be evaluated by their spreadsheet software. This issue has been patched in version 2.13.2.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
niche self-hosted open-source electronics inventory tool, limited enterprise footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.1%
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
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

CVE-2022-0848 CRITICAL POC
9.8 Mar 04

OS Command Injection in GitHub repository part-db/part-db prior to 0.5.11. Rated critical severity (CVSS 9.8), this vuln

CVE-2026-54630 CRITICAL
9.6 Oct 23

Authenticated file upload in Part-DB Server 2.12.0 and earlier lets any member of the default users group obtain remote

CVE-2026-86055 HIGH
8.7 Oct 23

Password-reset link poisoning in Part-DB Server (through 2.13.2) lets an unauthenticated remote attacker who can reach t

CVE-2023-26042 MEDIUM
6.1 Feb 27

Part-DB is an open source inventory management system for your electronic components. Rated medium severity (CVSS 6.1),

CVE-2026-54615 MEDIUM
6.0 Oct 23

Stored HTML injection in Part-DB through 2.12.0 lets an authenticated user with edit rights on an entity store a crafted

CVE-2026-55600 MEDIUM
5.7 Oct 23

Stored cross-user HTML injection in Part-DB's BOM validation results allows a user who can create or edit a Part name to

CVE-2026-59188 MEDIUM
5.4 Oct 23

Stored cross-site scripting in Part-DB Server 2.12.2 and earlier allows an authenticated user with attachment-upload per

CVE-2026-86018 MEDIUM
5.3 Oct 23

Authenticated users with attachment create/edit permissions can bypass the configured MAX_ATTACHMENT_FILE_SIZE limit in

CVE-2026-86019 MEDIUM
5.3 Oct 23

Authenticated users holding the API access permission can bypass the configured maximum attachment file size in Part-DB

CVE-2025-55194 MEDIUM POC
5.7 Aug 13

Part-DB is an open source inventory management system for electronic components. Rated medium severity (CVSS 5.7), this

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