Medium severity · published Oct 23, 2026
CVE-2026-54615
Part-DB: Stored XSS / HTML injection in activity-log Extra column via unsanitized CollectionElementDeleted element name (sibling-sanitizer gap)
New
6.0
CVSS
0.4%
EPSS
No
On KEV
Description
Part-DB is an open source inventory management system for electronic components. Prior to version 2.12.1, LogEntryExtraFormatter builds the HTML shown in the "Extra" column of the activity-log table (/log) and in element history tables. Every branch of LogEntryExtraFormatter::getInternalFormat() runs user-controlled strings through htmlspecialchars() before placing them into the HTML it returns — except the CollectionElementDeleted branch, which interpolates getOldName() (and getCollectionName()) into a sprintf() template with no escaping. The returned string is emitted by LogEntryExtraColumn::render() and inserted as raw HTML into the DataTables cell (the bundle does not escape column output; sibling columns call htmlspecialchars() themselves). CollectionElementDeleted.getOldName() is the name of a deleted collection sub-element — a part Parameter, Attachment, PartLot, Orderdetail, etc. — all freely set by any user with edit rights on the owning element. A low-privileged content editor can therefore store an HTML/script payload as the name of such a sub-element, delete it (which writes the log entry), and have that markup parsed as live DOM in the browser of a higher-privileged victim (an administrator/auditor with system.show_logs, or any user viewing that element's history). This is a stored cross-site-scripting / HTML-injection defect caused by a single missed sanitizer in one sibling branch. CSP policies block inline javascript execution under normal conditions. This issue has been patched in version 2.12.1.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 31% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PA
Part-DB-server · Part-DB
< 2.12.1 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-54615
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-54615
github.com
https://github.com/Part-DB/Part-DB-server/releases/tag/v2.12.1
github.com
https://github.com/Part-DB/Part-DB-server/security/advisories/GHSA-gp89-jfq9-x8r9
More from Part-DB-server
9.6
CVE-2026-54630
Part-DB: Authenticated RCE via .phar attachment upload served from public/media
8.7
CVE-2026-86055
Part-DB: Password Reset Link Poisoning via Host Header Injection leads to pre-authentication Account Takeover
6.3
CVE-2026-54631
Part-DB: Hardcoded APP_SECRET enables forged remember-me cookie
5.7
CVE-2026-55600
Part-DB: Stored HTML injection in BOM validation results via unescaped Part name
5.7
CVE-2025-55194
Part-DB Persistent Denial of Service via Uncaught Exception from Misleading File Extension in Avatar Upload
