Contest Gallery ≤32.0.1: fallo de archivos, actualizá ya
Se publicó un nuevo hallazgo crítico en Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe (CVE-2026-78088, CVSS 8.8 High): por validación insuficiente del parámetro baseUrlForFacebook, un atacante puede sobrescribir archivos conocidos en el servidor, lo que puede escalar a ejecución remota de código (RCE) cuando se dan ciertas precondiciones.
Afecta a todas las versiones hasta 32.0.1 inclusive. La versión corregida es 33.0.0 y la última disponible al cierre de este post es la 33.0.3 (16/09, incluye además un hardening de seguridad). Si tenés este plugin, actualizalo hoy mismo.
Qué pasó
El advisory lo publicó Wordfence (que también asignó el CVE) el 16/09/2026, y Patchstack lo emitió el 15/09 con riesgo “High” y la recomendación explícita de parchear ya: los plugins con manejo de archivos como este son el perfil típico de las campañas masivas de este año.
Un detalle que conviene leer con lupa: el título del CVE dice “Unauthenticated”, pero la descripción oficial aclara que el atacante necesita una cuenta con rol Suscriptor como mínimo (Subscriber+) para explotarlo. Los sitios que tienen el registro de usuarios abierto (cualquiera puede crear una cuenta) son los alcanzables de forma remota; en sitios sin registro público el requisito de suscriptor baja el riesgo práctico, pero no lo elimina.
El parámetro vulnerable (baseUrlForFacebook) no valida correctamente la ruta del archivo antes de escribirlo en el servidor (CWE-434: subida sin restricción de tipo peligroso). Sobrescribiendo un archivo existente (por ejemplo un PHP del plugin o del tema), el atacante puede inyectar código ejecutable. EPSS < 1% (sin explotación activa masiva confirmada a la fecha) y KEV: No.
Tabla de detalle técnico
| Campo | Dato |
|---|---|
| CVE | CVE-2026-78088 |
| Plugin | Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe |
| Tipo | Arbitrary File Overwrite (CWE-434) |
| Severidad | 8.8 High (CVSS 3.1) |
| Versiones afectadas | ≤ 32.0.1 |
| Versión corregida | 33.0.0 |
| Requisito de acceso | Cuenta Suscriptor+ (Subscriber+) |
| Parámetro | baseUrlForFacebook |
| Impacto | Sobrescritura de archivos → RCE potencial |
| Explotación activa | No confirmada (EPSS < 1%, KEV: No) |
| Instalaciones activas | ~1.000 (wordpress.org) |
Por qué este plugin es un caso aparte
Contest Gallery arrastra más de 40 CVEs publicados en los últimos años, con varios críticos de 9.8 (account takeover en ≤24.0.7 y en ≤28.1.2.2, escalación de privilegios en la versión Pro ≤29.0.1). Es un patrón de los que señalé en el análisis de tendencias de 2026: los plugins con historial de vulnerabilidades graves y base de instalación chica son los que más se auditan y los que más rápido se convierten en objetivo cuando sale un fallo nuevo. Si tenés Contest Gallery (o su versión Pro), no sos “muy chico para que te ataquen”: sos exactamente el perfil.
Seguimiento (17/09): un segundo CVE publicado hoy
Patchstack publicó hoy un nuevo hallazgo para el mismo plugin: CVE-2026-16055 (CVSS 4.8 Medium). Es un bypass sin autenticar de la protección de login y del 2FA vía el parámetro post_cg_login, que afecta a las versiones anteriores a 30.0.7 según el advisory.
No te confundas con los rangos de versiones: el CVE anterior (78088) se corrige recién en 33.0.0, este nuevo se corrige en 30.0.7, y la versión actual es 33.0.3. La recomendación es una sola y no cambia: estar en la última versión cubre ambos. Este CVE por sí solo no deriva en RCE (el impacto es debilitar las protecciones de login y 2FA de las galerías), pero suma en la misma dirección: si el plugin no está al día, cada hallazgo nuevo te encuentra expuesto.
Qué hacer ahora
- Actualizá a Contest Gallery 33.0.3 o superior ya (Escritorio → Plugins → este plugin → Actualizar). Estar en la última versión cubre tanto el CVE-2026-78088 como el CVE-2026-16055 publicado hoy.
- Si tenés el registro de usuarios abierto: considerá cerrarlo o agregar aprobación manual de nuevos usuarios — es el prerequisito que hace explotable este CVE desde internet.
- Revisá si ya te tocaron: buscá archivos
.phpmodificados recientemente dentro dewp-content/plugins/contest-gallery/,wp-content/plugins/contest-gallery-pro/ywp-content/uploads/, y cualquier usuario nuevo con rol sospechoso en Usuarios. - Eliminá el plugin si no lo usás para concursos: es la única forma de sacar este historial de CVEs de tu superficie de ataque.
- Cerrá el resto de la superficie mientras tanto: revisá permisos de archivos, la configuración de PHP y qué quedó abierto en tu .htaccess — y si encontrás señales de compromiso, la recuperación de emergencia es tu próximo paso.
Si no sabés si tu sitio alcanzable o querés que revise el estado del plugin y los archivos del servidor, una auditoría de seguridad está en USD 150 y la recuperación de emergencia en USD 300 con respuesta en menos de 2 horas. Contame tu caso →
TL;DR: Contest Gallery ≤32.0.1 tiene un fallo de sobrescritura de archivos (CVSS 8.8, requiere cuenta Suscriptor+) que puede terminar en RCE, y hoy Patchstack publicó además un bypass de login/2FA (CVE-2026-16055). Actualizá a 33.0.3 hoy, cerrá el registro público de usuarios si lo tenés abierto, y buscá PHP modificados si estuviste expuesto.
Fuentes
- OpenCVE — CVE-2026-78088 (record CVE asignado por Wordfence)
- Patchstack — Contest Gallery <= 32.0.1 Arbitrary File Upload
- WPScan — Contest Gallery vulnerability database
- VulDB — CVE-2026-78088 in Contest Gallery Plugin
- WordPress.org — Contest Gallery plugin
- Patchstack — Contest Gallery < 30.0.7 Login Protection and 2FA Bypass via post_cg_login (CVE-2026-16055)
Seguí leyendo
¿Tu WordPress está caído, hackeado o querés protegerlo antes de que pase? Te ayudo a recuperarlo y blindarlo.
Solicitar diagnóstico