Saltar al contenido
CVE-2026-54630 Fuente: CVE.org Publicada · sin explotación confirmada

Vulnerabilidad de carga de archivos sin restricciones en Part-DB

Part-DB · Part-DB-server · Publicada en CVE.org el 23-10-2026 · Última actualización: 09-11-2026

Descripción

Part-DB es un sistema de gestión de inventario de código abierto para componentes electrónicos. En versiones anteriores a la 2.12.1, el controlador de carga de adjuntos de piezas almacena los archivos cargados en el directorio de medios servido por la web usando la extensión de archivo proporcionada por el cliente, y su lista de extensiones bloqueadas no incluye phar. AttachmentSubmitHandler::renameBlacklistedExtensions() reescribe las extensiones peligrosas (php, phtml, sh, cgi, py, js, html, htaccess, ...) a .txt, pero phar no está en la lista, por lo que un archivo .phar conserva su extensión. Los adjuntos públicos (la opción por defecto) se escriben en public/media/, que es la raíz de documentos de Apache. La configuración de Apache incluida dirige los archivos .phar a PHP-FPM, por lo que el archivo almacenado se ejecuta como PHP al ser solicitado. El filtro de extensiones por tipo de adjunto está vacío por defecto y el controlador de carga no lo consulta de una forma que bloquee esto, y un usuario no administrador del grupo users por defecto puede crear un tipo de adjunto sin filtro y adjuntar archivos a piezas. Cualquier usuario autenticado del grupo users por defecto puede cargar un adjunto .phar a una pieza y obtenerlo en /media/, ejecutando PHP arbitrario como el usuario web www-data. La posibilidad de explotar la vulnerabilidad depende de la configuración del servidor web; la imagen de Docker contenía la vulnerabilidad por defecto. Este problema fue corregido en la versión 2.12.1.

Qué hacer

Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.

Versiones afectadas

  • Part-DB-server Afectadas: < 2.12.1

Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.

Referencias

Ver el texto original en inglés (CVE.org)

Part-DB: Authenticated RCE via .phar attachment upload served from public/media

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.

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia