Otro filtro Ajax de WooCommerce, otra inyección SQL: el coste oculto de apilar plugins

Si alguien te dijera hace diez años que un filtrito de producto en el catálogo iba a acabar en una inyección SQL sin login, me hubiera parecido exagerado. Ahora leo en el registro de CVE-2026-3396 en el NVD que el plugin WCAPF – WooCommerce Ajax Product Filter llevaba un fallo vía el parámetro post-author (versiones hasta la 4.2.3), con SQL preparado a medias, y siento de todo menos sorpresa. Otra capa de JavaScript chulo encima de WooCommerce, otro vector, otro lunes toca actualizar. La base ya es compleja, el carrito, impuestos, plantillas, y encima añadimos un filtraco Ajax porque “la experiencia mola más”. Mola hasta que alguien te lee el historial de pedidos desde la base de datos, eso te lo firmo.

Lo que aporta el resumen de SentinelOne va en la misma línea: inyección por tiempo, sin autenticación, impacto de confidencialidad alto, atacantes aprovechando un fallo de escape en el parámetro. En la práctica no es un bug “de los guapos” para enseñar en un curso, es de los feos, de los que entran bajo. Si tu logística, tu pricing y tu remarketing viven en la misma base de datos en la que cuelan esos SELECT añadidos, el daño deja de ser un parche más y pasa a ser un problema de compañia: datos de clientes, históricos, direcciones, emails, lo que tengas mezclado bajo wp_. Y piensa que en muchas tiendas ganas poco con el ticket medio y mucho con repetición y confianza. Pierdes la segunda y la primera tampoco te compensa. Me da rabia, porque el propietario de la tienda rara vez ha pedido a gritos cinco filtros y dos sliders; lo que pide es vender, y el ecosistema le vende cajitas de módulos baratas hasta que alguien enfría la base.

Yo te digo qué pasa a nivel de mercado: la competitividad en WooCommerce pasa hoy no por instalar un plugin extra, sino por decidir cuantos soportas. Cada módulo es un proveedor, un changelog, y un WhatsApp a las tres de la mañana. Los que todavía creen la historia de “es Open Source, somos libres” a veces confunden libertad con ausencia de deuda. La deuda aquí se mide en superficie de ataque, y en tiempo de gente de sistemas. Si tu “stack” de plugins crece con la misma lógica que el armario de un piso de estudiantes, tarde o temprano sacas un jersey con polilla y afecta al resto. El CVE-2026-3396 no es anécdota sino recordatorio, encima con severidad señalada en torno a 7,5 en el vector de Wordfence que recogen en el NVD, es decir, no estamos en el capítulo de un warning fino, estamos en “cierra o parchea, pero ya”.

Entonces, dónde está la deficiencia: no en WooCommerce como concepto, sino en cómo se vende “tu tienda en un fin de semana” sin dejar asignado a nadie un inventario de riesgo. El mapa de plugins deberia ser tán visible como el P&L y, sin embargo, en la mayoría de proyectos pymes vive en la cabeza de quien hizo el deploy hace dos años, o de la agencia que factura por hora cuando peta. Añadimos WCAPF porque hace un faceted search bonito. Bien, pero, ¿quien lee su código cuando sale el parche, aparte de “actualizar a la última”? Hacer clic en Actualizar ahora sin probar en staging es otra apuesta, con lo que tardan algunos comercios en ponerlo. Ahi hay una grieta, entre “no podemos parar la tienda un martes” y “el martes alguien ya nos está mirando en Shodan”.

Lo que a mi no me cuadra de las narrativas alegres de “Woo con todo incluido” es que nunca se presupuestan las revisiones de seguridad recurrentes como partida, se presupone que Wordfence y un backup bastan. El backup te salva de la cagada, no de la cagada con datos exfiltrados, que es otra categoria. Y Wordfence, si lo tienes, reduce mucho, pero ojo con los falsos negativos y con lo que cuela antes de que un rule-set lo etiquete. Tampoco es plan vivir a base de miedo: es plan poner criterio. Menos “instalo otro pluggin para arreglar el anterior”, y más trazabilidad, menos superficie. Si el filtro del catálogo no te lo ha pedido un comprador con nombre y apellidos, quizá no lo necesitabas todavía.

En inglés, en foros, lo que comentan hoy (y hace semanas) los que siguen a CVEs de terceros no es surprise, WordPress inseguro, sino otro día, otra ampliación de consulta en un endpoint público. La conversación de fondo: la madurez de Woo como plataforma top ha ido acompañada de un mercado de extensiones a veces poco exigido en auditorías, y tú, como dueño, pagas con tiempo de equipo o con reputación. Si tu margen de beneficio se come el tiempo de reacción, no “escalas”, añades riesgo operativo, que es otra escala, la que pesa al final. Lo digo con cariño, he visto buenas tiendas hechas en Woo, pero he visto muchas con diecinueve plugins que nadie sabe explicar en una frase, y una de ellas siempre muerde. En abril de 2026, este CVE es el ejemplo fácil, mañana será otro parámetro con otro nombre.

Resumiendo, por si te pilla en vísperas de campaña. Revisa el plugin wc-ajax-product-filter o el nombre de paquete que uses (WCAPF), pásate de la 4.2.3 si aún colgaban allí, prueba caché y filtros en un entorno clon, y aprovecha el susto para bajar a single digits el contador de módulos “imprescindibles”. La seguridad, como el SEO técnico, se come lo que toca en horas, no se negocia con descuentos. Que la tienda gane, sí, pero que gane sabiendo qué carga cada dependencia, porque sino ganas tú, gana quien tenga paciencia para leer tu SQL.

Fuentes

¿Qué tercer plugin “imprescindible” de tu WooCommerce apagarías hoy, y qué criterio usarías (ventas, soporte, o superficie) si supieres que nunca verás otra oportunidad de bajar a la mitad el número de extensiones en producción?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Scroll al inicio