Description
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.
Published: 2026-10-23
Score: 9.6 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Apply Patch
AI Analysis

Impact

Part-DB's attachment upload handler allows authenticated users in the default users group to upload files with the original client-supplied extension. Because the blocklist does not contain phar, a .phar file is stored with its original extension in the web-served media directory and is executed as PHP when accessed, giving the attacker arbitrary code execution as the web server user.

Affected Systems

Part-DB 2.12.1 and earlier are affected; the vulnerability exists in all versions prior to 2.12.1 of the Part-DB-server component. The default configuration writes the uploaded files to the Apache document root (public/media/) and routes .phar files to PHP-FPM, which is enabled in the included Docker images. Users with default users group membership can create attachment types that accept any extension, making the flaw exploitable without administrative rights.

Risk and Exploitability

The CVSS score of 9.6 classifies this flaw as critical. The EPSS score is not available, and the vulnerability is not yet listed in the CISA KEV catalog. Exploitation requires only an authenticated non-admin user in the default users group, a web server that serves .phar files as PHP, and the ability to upload a .phar attachment. Once triggered, the attacker gains remote code execution with the privileges of the www-data web process, potentially compromising the entire host.

Generated by OpenCVE AI on October 23, 2026 at 05:38 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Part-DB-server to version 2.12.1 or newer to remove the vulnerability.
  • Reconfigure the web server so that .phar files are not served as PHP, or move the public media directory outside the document root.
  • Restrict attachment uploads by non-admin users or enforce attachment type filters to exclude .phar extensions.

Generated by OpenCVE AI on October 23, 2026 at 05:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 23 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Part-db
Part-db part-db
Vendors & Products Part-db
Part-db part-db

Fri, 23 Oct 2026 04:00:00 +0000

Type Values Removed Values Added
Description 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.
Title Part-DB: Authenticated RCE via .phar attachment upload served from public/media
Weaknesses CWE-434
References
Metrics cvssV3_1

{'score': 9.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-29T12:43:48.850Z

Reserved: 2026-06-15T20:07:02.185Z

Link: CVE-2026-54630

cve-icon Vulnrichment

Updated: 2026-10-29T12:43:30.783Z

cve-icon NVD

Status : Deferred

Published: 2026-10-23T04:18:17.007

Modified: 2026-10-29T13:17:13.330

Link: CVE-2026-54630

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T14:39:57Z

Weaknesses
  • CWE-434

    Unrestricted Upload of File with Dangerous Type