Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with part-import permission
-
DeliveryImport CSV with formula-prefixed field (=1+1)
-
ExploitValue stored unneutralised in part field
-
ExecutionVictim exports parts as XLSX
-
ImpactVictim 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). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
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.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.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
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
OS Command Injection in GitHub repository part-db/part-db prior to 0.5.11. Rated critical severity (CVSS 9.8), this vuln
Authenticated file upload in Part-DB Server 2.12.0 and earlier lets any member of the default users group obtain remote
Password-reset link poisoning in Part-DB Server (through 2.13.2) lets an unauthenticated remote attacker who can reach t
Part-DB is an open source inventory management system for your electronic components. Rated medium severity (CVSS 6.1),
Stored HTML injection in Part-DB through 2.12.0 lets an authenticated user with edit rights on an entity store a crafted
Stored cross-user HTML injection in Part-DB's BOM validation results allows a user who can create or edit a Part name to
Stored cross-site scripting in Part-DB Server 2.12.2 and earlier allows an authenticated user with attachment-upload per
Authenticated users with attachment create/edit permissions can bypass the configured MAX_ATTACHMENT_FILE_SIZE limit in
Authenticated users holding the API access permission can bypass the configured maximum attachment file size in Part-DB
Part-DB is an open source inventory management system for electronic components. Rated medium severity (CVSS 5.7), this
EUVD-2026-108580
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB