Read the docs
TI-2026-79538 Aliases CVE-2026-54630

Part-DB attachment upload allows PHP execution via .phar files

Priority HIGH 76CWE-434Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-434.

Summary

Part-DB before 2.12.1 stores uploaded part attachments under the web-served public/media directory and does not block the .phar extension. Any authenticated user in the default users group can upload a .phar file to a part and request it under /media/ to run arbitrary PHP as the web server user. The flaw is an unrestricted upload of a dangerous file type (CWE-434) and is exploitable where Apache routes .phar files to PHP-FPM, as in the default Docker image.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

Part-DB is an open source inventory management system for electronic components. Prior to version 2.12.1, the part attachment upload handler stores uploaded files under the web-served media directory using the client-supplied file extension, and its extension blocklist does not include phar. AttachmentSubmitHandler::renameBlacklistedExtensions() rewrites dangerous extensions (php, phtml, sh, cgi, py, js, html, htaccess, ...) to .txt, but phar is absent from the list, so a .phar file keeps its extension. Public attachments (the default) are written into public/media/, which is the Apache document root. The shipped Apache configuration routes .phar to PHP-FPM, so the stored file is executed as PHP on request. The per-attachment-type extension filter is empty by default and is not consulted by the upload handler in a way that blocks this, and a non-admin user in the default users group can create an attachment type with no filter and attach files to parts. Any authenticated user in the default users group uploads a .phar attachment to a part and fetches it under /media/, executing arbitrary PHP as the www-data web user. Ability to exploit depends on the webserver config, docker image contained the vulnerability by default. This issue has been patched in version 2.12.1.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00348 28th percentileScored 2026-11-07
Fix Fixed Part-DB-server (Part-DB): 2.12.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
Part-DBPart-DB-serverbefore 2.12.12.12.1Patch availableCNA
  • Part-DB-server VendorPart-DB Affected before 2.12.1 Fixed in 2.12.1 Patch available CNA

Remediation

Upgrade Part-DB-server to version 2.12.1, which contains the fix.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA Part-DB-server (Part-DB) Fixed in 2.12.1

Timeline

  1. 2026-10-23 Threatist record created from CVE-2026-54630
  2. 2026-10-29 CISA SSVC decision points changed
  3. 2026-10-29 Priority changed: MEDIUM → HIGH

References

  • TI-2026-79546 Password reset link poisoning in Part-DB allows account takeover CVSS 4.0HIGH 8.7
  • TI-2019-15485 Part-DB 0.4 Authentication Bypass via login.php CVSS 4.0HIGH 8.8
  • TI-2022-00754 OS Command Injection in part-db/part-db CVSS 3.1CRITICAL 9.8
  • TI-2026-79539 Hardcoded APP_SECRET in Part-DB enables forged login cookies CVSS 3.1MEDIUM 6.3
  • TI-2026-79540 Stored HTML injection in Part-DB BOM validation results CVSS 4.0MEDIUM 5.7
  • TI-2025-34870 Part-DB Persistent Denial of Service via Uncaught Exception from Misleading File Extension in Avatar Upload CVSS 3.1MEDIUM 5.7
See all 12 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences