Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-19089-WooCommerce-Tyche — Repositorio de investigación para CVE-2026-19089, una vulnerabilidad de ejecución remota de comandos en WooCommerce Product Input Fields de Tyche Softwares. Contiene un borrador de script de investigación y notas para pruebas autorizadas en laboratorio. | Kitploit
Herramientas/GitHubGitHub/abraxas/cve-2026-19089-woocommerce-tyche
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAprendizaje y Educación
GitHubabraxas/cve-2026-19089-woocommerce-tyche

CVE-2026-19089-WooCommerce-Tyche

Repositorio de investigación para CVE-2026-19089, una vulnerabilidad de ejecución remota de comandos en WooCommerce Product Input Fields de Tyche Softwares. Contiene un borrador de script de investigación y notas para pruebas autorizadas en laboratorio.

Ver Repositorio
528hace 20 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

banner

CVE-2026-19089

Product Input Fields for WooCommerce < 2.0.2 - carga arbitraria de archivos sin autenticación

El plugin Product Input Fields for WooCommerce de Tyche Softwares no valida los tipos de archivo subidos cuando la configuración de tipos aceptados del campo se deja vacía (su propia documentación lo anuncia como "aceptar todos los archivos"). Un invitado no autenticado puede adjuntar un archivo arbitrario al añadir al carrito, completar el checkout y recuperar el objeto bajo el directorio de subidas del plugin. En hosts que ejecutan ese árbol como PHP, la misma ruta es ejecución remota de código.

CVECVE-2026-19089
CWECWE-434: Unrestricted Upload of File with Dangerous Type
CVSS 3.19.8 Crítico (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
VendorTyche Softwares
ProductProduct Input Fields for WooCommerce (product-input-fields-for-woocommerce)
Affected2.0.0 hasta 2.0.1 (plugin anterior a 2.0.2)
Patched2.0.2
RelatedCVE-2024-13359 (AFU limitado hasta 1.12.0)
CNAWPScan

Este repositorio contiene una prueba de concepto de Abraxas Labs para pruebas autorizadas únicamente - divulgación al proveedor, reproducción en laboratorio o un host para el que tenga permiso escrito de evaluación.

Ejecuté el cliente contra una tienda WooCommerce local con Product Input Fields 2.0.1, checkout de invitado más pago contra reembolso, y un campo File global cuyos tipos aceptados estaban en blanco. El script prepara la subida y el checkout; no incluye un webshell.


Resumen

Un campo de entrada de producto de tipo File se vincula al formulario de añadir al carrito de la tienda como alg_wc_pif_global_* / alg_wc_pif_local_*. Cuando los tipos de archivo aceptados están vacíos, el plugin almacena lo que el invitado haya enviado. Tras un pedido exitoso, el archivo se persiste bajo wp-content/uploads/product_input_fields/, normalmente nombrado {item_id}_{original_filename}.

Los sitios están expuestos cuando todas estas condiciones son verdaderas:

  1. Product Input Fields está activo en una versión 2.x vulnerable (anterior a 2.0.2).
  2. Al menos un campo de entrada de tipo File está asociado a un producto publicado.
  3. La lista de tipos aceptados de ese campo está vacía.
  4. El checkout de invitado (o cualquier checkout accesible) puede completar un pedido para que la subida se confirme.

Bajo esas condiciones, el impacto es escritura arbitraria de archivos como el usuario web. Si el directorio de subidas es ejecutable, eso es toma de control del sitio.


Notas técnicas

El cliente permanece en la tienda. No incluye un webshell PHP ni un reverse shell.

  1. Sondeo - GET a la URL del producto, recopilar los nombres de los campos de archivo PIF y el id de producto de add-to-cart.
  2. Etapa 1 - POST a add-to-cart con un marcador PNG benigno (image/png) bajo el nombre del campo PIF. El nombre de archivo predeterminado es pifx.php para que un laboratorio pueda ver si el plugin permitió una extensión peligrosa. El marcador no es PHP ejecutable.
  3. Etapa 2 - checkout de invitado mediante /?wc-ajax=checkout con pago contra reembolso.
  4. Etapa 3 - seguir un redirect de checkout si está presente, luego barrer wp-content/uploads/product_input_fields/{1..499}_{name} y POST x buscando el testigo SHELL_OK. [ LIVE ] se imprime solo cuando ese testigo regresa.

Prueba de concepto

CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py es un pequeño cliente Python 3: banner figlet en color, luego los cuatro pasos anteriores. Solo se comunica con las URLs que se pasan en la línea de comandos.

Requisitos

  • Python 3.9+
  • requests

En macOS con Homebrew Python (PEP 668), use un venv en lugar de un pip install del sistema:

python3 -m venv .venv
.venv/bin/pip install requests

Uso

CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py <base_url> <product_url> [shell_name]
.venv/bin/python3 CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py \
  https://shop.example \
  https://shop.example/product/demo/

Un tercer argumento establece el nombre de archivo subido; el valor predeterminado es pifx.php.

Con menos de dos argumentos, el script imprime el banner y el uso, luego sale con 1. Esa es una forma segura de confirmar que el cliente arranca.

Precondiciones del laboratorio

WooCommerce con checkout de invitado y una pasarela utilizable (el cliente envía payment_method=cod), Product Input Fields anterior a 2.0.2, y un producto publicado cuyo campo File acepte cualquier tipo. Contra 2.0.2+ o un campo con una lista de permitidos estricta, el objeto no debería aterrizar como una subida .php.

No apunte esto a ningún host que no posea o para el que no tenga autorización escrita de probar.


Mitigación

  • Parche: actualice Product Input Fields for WooCommerce a 2.0.2 o posterior desde el directorio de plugins de WordPress.org.
  • Solución temporal: establezca una lista explícita de tipos aceptados en cada campo File (solo imágenes, nunca vacía). Confirme que el directorio de subidas no ejecuta PHP.
  • Tras un incidente sospechado, inspeccione wp-content/uploads/product_input_fields/ (y woocommerce_uploads/alg_uploads/product_input_fields/ en algunas configuraciones), elimine objetos inesperados y rote los secretos de wp-admin.

Referencias

  • CVE-2026-19089
  • NVD
  • Aviso de WPScan
  • Wordfence: Product Input Fields for WooCommerce <= 2.0.1 - Unauthenticated Arbitrary File Upload
  • CVE-2024-13359

Descargo de responsabilidad

Solo para uso investigativo y educativo. No ejecute, despliegue ni use este material contra ningún host a menos que tenga permiso escrito explícito tanto de la parte que aloja este repositorio como del propietario de los sistemas objetivo.

Abraxas Labs · abraxaslabs.tech · github.com/abraxas · @abraxas_null

Descargar herramienta