Entre abril y agosto de 2026, la API de WooCommerce del sitio permitía leer órdenes, clientes y cupones sin ninguna autenticación. No hacía falta ser hacker: bastaba un navegador para descargar nombres, correos, teléfonos, direcciones, IPs y el historial de compras de productos de salud.
GP Labs Chile opera su tienda con WordPress + WooCommerce. WooCommerce expone una API REST estándar que debería requerir llaves de autenticación. En este sitio, los endpoints de lectura estaban abiertos al público.
Un endpoint como este, consultado página por página, devolvía el registro completo de pedidos en formato JSON: datos de facturación (nombre, correo, teléfono, dirección), IP y navegador del comprador, productos comprados, notas internas del pedido y el historial completo de la tienda:
# Sin usuario, sin contraseña, sin llave de API. Solo un GET: curl "https://www.gplabschile.com/wp-json/wc/v3/orders?per_page=100&page=1" # Respuesta hasta el 21/22 de agosto de 2026: HTTP 200 OK → array completo de órdenes con datos personales # Respuesta verificada el 22 de agosto de 2026 (corregido): HTTP 401 → "Lo siento, no puedes listar los recursos."
Para demostrar que la fuga es real sin dañar a las víctimas, mostramos la estructura exacta de la respuesta de la API. Todos los valores son sintéticos: ningún dato de esta página corresponde a una persona real.
VALORES SINTÉTICOS — NO SON DATOS REALES// GET /wp-json/wc/v3/orders · respuesta real, valores reemplazados [ { "id": "####", "status": "completed", "currency": "CLP", "date_created": "2026-0X-0XT0X:0X:0X", "total": "######", "transaction_id": "########", "billing": { "first_name": "[nombre real]", "last_name": "[apellidos reales]", "email": "[correo real]", "phone": "+56 9 XXXX XXXX", "address_1": "[dirección real]", "city": "[comuna real]", "state": "CL-XX" }, "customer_ip_address": "XXX.XXX.X.X", "customer_user_agent": "[navegador y sistema del comprador]", "line_items": [ { "name": "[producto comprado, p.ej. agonista GLP-1]" } ], "meta_data": [ { "key": "_wc_order_attribution_device_type" } ] } // … × 521 órdenes, × 100 por página, sin límite de tasa ]
Cifras agregadas calculadas sobre los datos expuestos entre el 13 de abril y el 21 de agosto de 2026. Publicamos únicamente estadísticas; ningún registro individual.
Los catálogos de GP Labs incluyen péptidos y medicamentos inyectables. Eso convierte el historial de compras en información de salud sensible asociada a personas identificables con su dirección y teléfono.
| Dato expuesto | Ejemplo (sintético) | Riesgo para la víctima |
|---|---|---|
| Nombre completo | [nombre y apellidos] | Suplantación dirigida y perfilado |
| Correo y teléfono | usuario@ejemplo.cl · +56 9 … | Phishing, vishing y estafas por WhatsApp |
| Dirección, comuna y región | Calle 123, comuna, CL-RM | Acoso, robo de paquetes, visita no deseada |
| Historial de compras | RT-10 · Triple Agonista GIP/GLP-1/Glucagón | Revela tratamientos de salud: extorsión y estigma |
| IP y huella del dispositivo | XXX.XXX.X.X · Android/Chrome | Rastreo y vinculación con otras cuentas |
| Notas internas del pedido | [texto libre del staff] | Contexto personal adicional |
| Clave e ID de la orden | wc_order_XXXX… | Consulta y manipulación de pedidos |
| ID de transacción | XXXXXXXX | Referencias de pago con pasarelas |
El endpoint fue corregido el 22 de agosto de 2026, pero eso solo detiene nuevas descargas. Cualquier copia hecha durante los cuatro meses de exposición sigue existiendo fuera del sitio. Los datos personales filtrados no tienen forma de recuperarse.
Divulgación responsable: se notificó al operador antes de publicar este sitio.
La API REST de WooCommerce queda legible sin autenticación. Las órdenes expuestas van del 13 de abril al 21 de agosto de 2026.
Se detecta la exposición durante una revisión de seguridad y se cuantifica su alcance con acceso de solo lectura.
GP Labs es informado del hallazgo y de las acciones requeridas. Sin respuesta formal al cierre de este sitio.
Se verifica que los endpoints de la API ahora responden HTTP 401 sin credenciales. La ventana de exposición está cerrada; los datos ya filtrados, sin embargo, no se pueden recuperar.