Skip to main content
VulnerabilityPublished

CVE-2026-54615: Part-DB-server · Cross-site Scripting

Affects Part-DB-serverSource CVE Database V5

0

Not known to be exploited · CVSS 6.0 Medium : upgrade to 2.12.1 when convenient.

Data as of 26 Oct 2026, 14:18 UTC

CVSS 4.0 base score
6.0Medium
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.3% chance of exploitation in 30 days – higher than 30% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 2.12.1
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 23 Oct 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade Part-DB-server and part-db/Part-DB-server to 2.12.1.

Affected software

ProductAffectedFixed in
Part-DBPart-DB-serverAffected
  • <2.12.1
Fixed in
  • 2.12.1
GitHubpart-db/Part-DB-serverpkg:github/part-db/Part-DB-serverOther threatsAffected
  • <2.12.1
Fixed in
  • 2.12.1

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

This vulnerability has been fixed in Part-DB-server version 2.12.1. Users should upgrade to version 2.12.1 or later to remediate the issue. Content Security Policy (CSP) helps mitigate the risk by blocking inline JavaScript execution. No additional vendor advisories or temporary fixes are provided. Patch status is confirmed by the vendor's versioning information.

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.

References

Community reviews

Loading reviews…