¿Todavía usas Joomla 3?
Joomla! 3
Security
Patch.
+ Compatibilidad con PHP 8
Corrige 50 vulnerabilidades de seguridad conocidas en el núcleo de Joomla! 3 y resuelve 7 problemas de obsolescencia de PHP 8 en el código que se carga en cada solicitud. Cada corrección verificada individualmente, con copia de seguridad automática, un clic para aplicar y un clic para deshacer.
Parche de terceros independiente para Joomla! 3
50
parches de seguridad verificados
7
correcciones de compatibilidad PHP 8
1 clic
aplicar y deshacer en cualquier momento
57 / 57 reglas cumplidas · CORREGIDO
Por qué importa
Joomla! 3 llegó al final de su vida útil oficial el 17 de agosto de 2023. Ya no se publican actualizaciones de seguridad oficiales, y sin embargo gran parte de la web sigue funcionando con él.
Sin parches oficiales
Se descubren regularmente nuevas vulnerabilidades en código compartido con las versiones más recientes de Joomla!, pero Joomla! 3 en sí ya no recibe correcciones.
Los proveedores de hosting abandonan PHP 7.4
Las actualizaciones forzadas a PHP 8.x rompen el núcleo de Joomla! 3 sin parchear en varios puntos, incluida el área de administración.
La migración no siempre es posible
Pasar a Joomla! 4/5 requiere presupuesto y tiempo que muchos responsables de sitios no tienen ahora mismo, pero seguir sin parchear tampoco es una opción. Parchear o migrar, comparados →
Qué incluye el paquete
Dos partes independientes en un solo paquete : aplicables por separado, según tu propio calendario.
Seguridad
50 parches verificados
41 vinculados a un CVE oficial, 9 medidas de refuerzo identificadas de forma independiente. Cada parche se investigó individualmente, se verificó contra el núcleo real 3.10.12 y se evaluó con un nivel de confianza. Los candidatos de baja confianza nunca se distribuyen.
| Clase | Número |
|---|---|
| XSS / Cross-Site-Scripting | 24 |
| Control de acceso / autenticación | 9 |
| Otras medidas de refuerzo | 4 |
| Inyección SQL | 2 |
| Envenenamiento de caché | 2 |
| Ataques de tiempo (timing) | 2 |
| Subida de archivos / RCE | 2 |
| Redirección abierta | 2 |
| Path traversal / LFI | 1 |
| Inyección de objetos PHP | 1 |
| Divulgación de información | 1 |
Cada parche se compara con el cambio upstream correspondiente de Joomla! o de un fork de la comunidad, adaptado a la línea 3.10.x, y luego se reverifica releyendo el código afectado, nunca se adopta a ciegas. Los 57 parches superan una prueba rápida contra un núcleo 3.10.12 real; 45 tienen una confianza alta y 12 media. Nada con confianza baja se distribuye.
Ver los 57 parches y CVE →
| ID | Tipo | CVE | Clase | Archivo | Confianza |
|---|---|---|---|---|---|
| JP3-0001 | Seguridad | CVE-2025-54476 | Bypass del filtro XSS | InputFilter.php | Alta |
| JP3-0002 | Seguridad | CVE-2025-63083 | XSS almacenado | toc.php | Alta |
| JP3-0003 | Seguridad | CVE-2026-21629 | Falta de verificación de autenticación | ajax.php | Alta |
| JP3-0004 | Seguridad | CVE-2026-48954 | XSS almacenado (escape de atributo) | languageoverridequotes.php +2 more | Alta |
| JP3-0005 | Seguridad | CVE-2026-48950 | XSS reflejado | default.php | Media |
| JP3-0006 | Seguridad | CVE-2026-48953 | XSS a través de la API pública de layout | image.php | Media |
| JP3-0007 | Seguridad | CVE-2026-48952 | XSS mediante datos no confiables del feed de actualización | default.php | Media |
| JP3-0008 | Seguridad | CVE-2026-25901 | XSS almacenado | edit.php | Media |
| JP3-0009 | Seguridad | CVE-2026-30894 | XSS almacenado | preview.php | Alta |
| JP3-0010 | Seguridad | CVE-2026-25900 | XSS mediante un feed RSS no confiable | default.php +1 more | Alta |
| JP3-0011 | Seguridad | CVE-2026-30895 | XSS almacenado | readmore.php +1 more | Media |
| JP3-0012 | Seguridad | CVE-2026-40383 | Path traversal que conduce a inclusión de archivo local | HtmlView.php | Alta |
| JP3-0013 | Seguridad | CVE-2026-35222 | Inyección SQL | tags.php +1 more | Alta |
| JP3-0014 | Seguridad | CVE-2026-48902 | Token sensible enviado sin cifrar por HTTP | reset.php +1 more | Alta |
| JP3-0015 | Seguridad | CVE-2026-48901 | Envenenamiento de caché / reutilización incorrecta del filtro | InputFilter.php | Alta |
| JP3-0016 | Seguridad | CVE-2026-48948 | Control de acceso deficiente | view.vcf.php | Alta |
| JP3-0017 | Seguridad | CVE-2025-63082 | XSS mediante URI data: | InputFilter.php | Alta |
| JP3-0018 | Seguridad | CVE-2024-40747 | XSS mediante parámetros style/atributo de un módulo | ModuleHelper.php | Alta |
| JP3-0019 | Seguridad | CVE-2025-25226 | Inyección SQL mediante bypass del entrecomillado de identificadores | driver.php | Alta |
| JP3-0020 | Seguridad | CVE-2026-21631 | XSS almacenado | edit.php | Alta |
| JP3-0021 | Seguridad | — | Falta de verificación de autorización | update.php | Alta |
| JP3-0022 | Seguridad | — | Canal lateral por tiempo (timing) | totp.php | Alta |
| JP3-0023 | Seguridad | — | Falta de autenticación de solicitud/respuesta | yubikey.php +3 more | Alta |
| JP3-0024 | Seguridad | — | Inyección de objetos PHP (defensa en profundidad) | restore.php | Media |
| JP3-0025 | Seguridad | — | XSS mediante un feed externo no confiable | default.php | Alta |
| JP3-0026 | Seguridad | — | Canal lateral por tiempo (impacto real limitado) | reset.php | Media |
| JP3-0027 | Seguridad | — | Higiene de código (eliminación de eval), no identificado como explotable | HtmlDocument.php | Media |
| JP3-0028 | Seguridad | — | Ejecución remota de código mediante bypass de subida de archivos | MediaHelper.php | Alta |
| JP3-0029 | Seguridad | — | Bypass de detección de content-type (XSS por subida) | MediaHelper.php | Alta |
| JP3-0030 | Seguridad | CVE-2023-40626 | Divulgación de información (exposición de variables de entorno/constantes PHP) | LanguageHelper.php +28 more | Alta |
| JP3-0031 | Seguridad | CVE-2024-21723 | Redirección abierta | framework.php | Alta |
| JP3-0032 | Seguridad | CVE-2024-27184 | Validación de URL insuficiente (redirección abierta / cercano a SSRF) | Uri.php | Alta |
| JP3-0033 | Seguridad | CVE-2024-21724 | XSS mediante un valor de campo de medios sin validar | banner.xml +28 more | Alta |
| JP3-0034 | Seguridad | CVE-2024-26279 | XSS mediante una URL wrapper maliciosa (esquemas javascript:/data:) | default.xml +1 more | Alta |
| JP3-0035 | Seguridad | CVE-2024-21726 | Laguna del filtro XSS en la regla de validación de URL del formulario | UrlRule.php +1 more | Alta |
| JP3-0036 | Seguridad | CVE-2024-21731 | XSS mediante una etiqueta codificada como entidad que sobrevive a strip_tags y se decodifica en vivo | string.php | Alta |
| JP3-0037 | Seguridad | CVE-2024-40743 | XSS mediante una etiqueta con mayúsculas/minúsculas mixtas o anidada que sobrevive a una regex de limpieza de una sola pasada sensible a mayúsculas | OutputFilter.php | Alta |
| JP3-0038 | Seguridad | CVE-2024-27185 | Envenenamiento de caché mediante inyección arbitraria de parámetros en enlaces de paginación en caché | Pagination.php | Alta |
| JP3-0039 | Seguridad | CVE-2024-21722 | Expiración de sesión insuficiente tras cambiar el método MFA | user.php +1 more | Alta |
| JP3-0040 | Seguridad | CVE-2024-21725 | XSS mediante un correo/URL decodificado en punycode que contiene caracteres especiales HTML | default.php +7 more | Media |
| JP3-0041 | Seguridad | CVE-2024-26278 | XSS almacenado mediante un valor predeterminado no depurado de un campo personalizado | field.xml | Alta |
| JP3-0042 | Seguridad | CVE-2024-27187 | Control de acceso insuficiente (manipulación de privilegios/identidad en autoservicio) | user.php | Media |
| JP3-0043 | Seguridad | CVE-2026-48898 | Falta de verificación de autorización (defensa en profundidad; no cierra una brecha 3.x actualmente accesible) | user.php | Media |
| JP3-0044 | Seguridad | CVE-2026-73371 | Control de acceso insuficiente (copia masiva de elementos que el usuario no puede editar) | AdminModel.php +4 more | Alta |
| JP3-0045 | Seguridad | CVE-2026-48956 | Falta de verificación de autorización (defensa en profundidad para un punto de entrada no estándar) | controller.php | Media |
| JP3-0046 | Seguridad | CVE-2026-71572 | Inyección de cabecera HTTP mediante un nombre de archivo sin depurar | view.raw.php +1 more | Alta |
| JP3-0047 | Seguridad | CVE-2026-73373 | Ejecución remota de código mediante bypass de subida (extensión ejecutable SSI) | template.php | Alta |
| JP3-0048 | Seguridad | CVE-2026-21632 | XSS almacenado mediante un título de artículo sin escapar | blog_links.php +6 more | Alta |
| JP3-0049 | Seguridad | CVE-2024-40748 | XSS mediante un atributo HTML id sin escapar | default.php | Alta |
| JP3-0050 | Seguridad | CVE-2024-40749 | Bypass de control de acceso mediante resolución de clase insensible a mayúsculas frente a verificación ACL sensible a mayúsculas | controller.php +1 more | Alta |
| JP3-0051 | PHP 8 | — | Compatibilidad con PHP 8.1 (aviso de obsolescencia de la interfaz Serializable, no es una vulnerabilidad) | Input.php +1 more | Alta |
| JP3-0052 | PHP 8 | — | Compatibilidad con PHP 8.1 (obsolescencia del tipo de retorno de interfaz SPL, no es una vulnerabilidad) | Feed.php | Alta |
| JP3-0053 | PHP 8 | — | Compatibilidad con PHP 8.4 (obsolescencia de parámetros implícitamente nulables, no es una vulnerabilidad) | BaseApplication.php +6 more | Alta |
| JP3-0054 | PHP 8 | — | Compatibilidad con PHP 8.1 (obsolescencia del tipo de retorno de interfaz SPL, no es una vulnerabilidad) | iterator.php | Alta |
| JP3-0055 | PHP 8 | — | Compatibilidad con PHP 8.1 (obsolescencia del tipo de retorno de interfaz SPL, no es una vulnerabilidad) | iterator.php | Alta |
| JP3-0056 | PHP 8 | — | Compatibilidad con PHP 8.1 (obsolescencia del tipo de retorno de interfaz SPL, no es una vulnerabilidad) | DataSet.php | Alta |
| JP3-0057 | PHP 8 | — | Compatibilidad con PHP 8.1 (obsolescencia del tipo de retorno de interfaz SPL, no es una vulnerabilidad) | Input.php | Alta |
Actualizado a agosto de 2026. ¿Prefieres una página independiente y enlazable? Ver la lista completa de CVE →
Compatibilidad
7 correcciones PHP 8
Evita que el núcleo genere avisos de obsolescencia en PHP 8.1+, incluidas las clases de arranque de la aplicación, cargadas en cada solicitud. Puramente aditivo, seguro también en PHP 7.4. Ver los mensajes de error concretos →
- Input.php (2 correcciones) : conformidad con las interfaces Serializable y Countable, la clase se carga en cada solicitud
- Arranque de la aplicación (7 archivos) : corrección con el mayor alcance, cada solicitud frontend y de administración
- Feed.php : usado por mod_feed y com_newsfeeds
- JDatabaseIterator & FOFDatabaseIterator : APIs opcionales llamadas por algunas extensiones
- Joomla\Data\DataSet : cierra completamente la clase para cualquier extensión que la referencie
Cómo funciona
Se instala como una extensión protegida normal de Joomla!. No se necesita acceso SSH ni a la base de datos.
-
Instalar
Extensiones → Gestionar → Instalar → sube el archivo del paquete.
-
Escanear
Abre Scan & Apply y mira en tiempo real qué reglas de las 57 ya se cumplen y cuáles faltan.
-
Aplicar
Aplica los parches de seguridad que faltan con un clic. Cada cambio se respalda automáticamente primero.
-
Activar PHP 8
Activa la compatibilidad con PHP 8 por separado, en cuanto tu hosting cambie. También con un clic, reversible en cualquier momento.
Diseñado para ser seguro
Qué sucede exactamente con tus archivos antes, durante y después de aplicar un parche.
Copia de seguridad antes de cada cambio
Todo archivo a punto de ser sobrescrito se copia primero en una carpeta de copia de seguridad con fecha dentro de la extensión, siempre, sin excepciones.
Los archivos no reconocidos se omiten
Cada archivo se verifica contra un patrón conocido antes de tocarlo. Si el código circundante ya no coincide (por ejemplo, porque una extensión de terceros lo modificó), ese parche se omite para revisión manual, nunca se fuerza.
Deshaz cada parche, en cualquier momento
Cada parche aplicado se puede deshacer individualmente desde su copia de seguridad. Si una restauración no puede completarse del todo, se te informa explícitamente en lugar de dejarte en la incertidumbre.
Dos limitaciones honestas: cuando un parche se aplica, sustituye todo el contenido del archivo afectado en lugar de fusionar línea por línea. Tus propios cambios en ese archivo específico podrían perderse. Si es necesario, revisa de antemano la lista de archivos de un parche frente a tus propios cambios. Y los parches no son transaccionales en un lote: si un parche falla a mitad de una ejecución múltiple, los archivos ya modificados por parches anteriores en esa ejecución no se deshacen automáticamente. La copia de seguridad sigue disponible para una restauración manual.
Dentro del panel de administración
Capturas de pantalla reales de la pantalla de administración Scan & Apply : esto es lo que verás tras la instalación.
Preguntas frecuentes
¿Sustituye una migración a Joomla! 4 o 5?
No. Es una solución puente que mantiene un sitio Joomla! 3 seguro y funcional en versiones actuales de PHP mientras planificas una migración, no un sustituto de esta.
¿Funciona si mis archivos del núcleo de Joomla! ya se han modificado?
Cada archivo se verifica contra el patrón vulnerable real antes de tocarlo. Si ese patrón sigue siendo reconocible, el parche se aplica (tras respaldar el archivo). Si el código circundante ya no coincide con ningún patrón conocido, ese parche se omite y se marca para revisión manual en lugar de forzarse. Algo que debes saber: cuando un parche se aplica, sustituye todo el contenido del archivo en lugar de fusionar línea por línea. Tus propios cambios en ese archivo específico podrían perderse. Si tienes dudas, revisa la lista de archivos del parche frente a tus propios cambios.
¿Se corrigen también extensiones o plantillas de terceros?
No. Cada parche solo toca archivos del núcleo de Joomla!.
¿Qué versiones de PHP se admiten realmente?
Las 7 correcciones de compatibilidad resuelven avisos de obsolescencia introducidos entre PHP 8.1 y 8.4, en código que se ejecuta en cada solicitud, verificadas en intérpretes PHP 7.4 y PHP 8.1 reales. Evitan que el propio núcleo de Joomla! genere esos avisos, pero no garantizan que el resto de tu panel de administración funcione sin errores en PHP 8.1+ si tus plantillas o extensiones de terceros no son compatibles con PHP 8.
¿Puedo deshacer cada cambio?
Sí. Cada parche aplicado se puede restaurar individualmente desde su copia de seguridad automática. Si una restauración no puede completarse del todo, se te informa explícitamente en lugar de dejarte en la incertidumbre. En ese caso, revisa manualmente la carpeta de copia de seguridad.
¿Cuántos sitios cubre una licencia?
Una instalación de Joomla!. La instalación en staging y producción del mismo sitio está cubierta por la misma licencia.
¿La extensión permanece instalada de forma permanente?
Sí. Se instala como una extensión protegida y no está pensada para eliminarse mediante el botón normal de desinstalación. La guía de instalación incluida explica cómo eliminarla si es necesario.
¿Es una suscripción? ¿Se incluyen los parches futuros?
No. Es una compra única que cubre los 57 parches del paquete actual. Las nuevas vulnerabilidades descubiertas después de tu compra no se incluyen automáticamente. Consulta joomla-update.ch para futuras actualizaciones del paquete.
Compra única
Sin suscripción. Cubre los 57 parches del paquete actual.
Joomla! 3 Parche de seguridad + compatibilidad con PHP 8
$19.90 pago único
Descarga inmediata tras la compra, guía de instalación incluida.
Obtener el parche- 50 parches de seguridad verificados (41 con CVE, 9 de refuerzo)
- 7 correcciones de compatibilidad PHP 8
- Interfaz de administración Scan & Apply
- Copia de seguridad automática, reversible en cualquier momento
- Funciona con Joomla! 3.10.12 y forks 3.10.x
- Una licencia por instalación de Joomla!, staging y producción del mismo sitio incluidos
Deliberadamente no incluido
- Vulnerabilidades en extensiones o plantillas de terceros : el parche solo toca archivos del núcleo de Joomla!
- Compatibilidad completa con PHP 8.1+ de todo el panel de administración de Joomla! 3 : las correcciones de compatibilidad evitan que el núcleo genere avisos de obsolescencia, pero no garantizan que cada pantalla de administración funcione correctamente en PHP 8.1+ sin trabajo adicional
- Una garantía de que todo el panel de administración funcione sin errores en PHP 8.1 si componentes de terceros no son compatibles con PHP 8
- Protección contra futuras vulnerabilidades aún no conocidas (día cero)
¿Ya te han hackeado?
Este parche previene vulnerabilidades conocidas. No limpia un compromiso ya activo. Si tu sitio Joomla 3 ya muestra signos de haber sido hackeado (páginas de spam, redirecciones, portada desfigurada, aviso del proveedor de hosting), contáctanos y te ayudaremos a evaluarlo y corregirlo.
Contáctanos