Actualización de osTicket con errores

Desde versiones previas 1.10.X a 1.12.X o posteriores aparecen errores con tablas ya creadas (seguramente de actualizaciones fallidas previas) en las que se muestra el error en el registro de la aplicación:

* @signature 86707325fc571e56242fccc46fd24466 
* @version v1.11.0 
* @title Add ticket referral * 
* This patch adds a table for thread referral as well as thread event states of referred and deleted 
*/ CREATE TABLE `cli_thread_referral` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT,  `thread_id` int(11) unsigned NOT NULL,  `object_id` int(11) unsigned NOT NULL,  `object_type` char(1) NOT NULL,  `created` datetime NOT NULL,  PRIMARY KEY (`id`),  UNIQUE KEY `ref` (`object_id`, `object_type`, `thread_id`),  KEY `thread_id` (`thread_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 

Table 'XXX_thread_referral' already exists

Deberemos volver a recuperar los archivos y la base de datos de nuestra copia de seguridad, además de eliminar la tabla indicada, deberemos suprimir dos más, donde «XXX» es el prefijo de las tablas de nuestra instalación:

DROP TABLE XXX_thread_referral;
DROP TABLE XXX_queue_export;
DROP TABLE XXX_event;

Es recomendable eliminar posibles idiomas adicionales y dejar como predeterminado el inglés nativo. En el caso de instalaciones antiguas, la versión de PHP mínima es la 5.6.40 tras la actualización podemos cambiar a 7.1.33 o posterior.

Si nos encontramos con errores durante la actualización pero sin dejar rastro en el log de PHP y de la BBDD de la aplicación, las reglas del firewall de aplicaciones Modsecurity bloquean el proceso de actualización, deberemos permitir temporalmente, utilizar Atomic Standard en lugar de OWASP o añadir excepciones para la ruta del panel de gestión (SCP).

NOTA: Es posible revisar los detalles de las reglas aplicadas en el registro de Plesk/cPanel via web o en los directorios de registro, por ejemplo: %Plesk_dir%\ModSecurity\vhosts\GUIDXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\logs sería necesario deshabilitar la regla 920480

 

Message: Access denied with code 403 (phase 1). Match of "rx ^%{tx.allowed_request_content_type_charset}$" against "TX:1" required. [file "/Plesk/ModSecurity/rules/modsecurity_crs-plesk/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf"] [line "944"] [id "920480"] [msg "Request content type charset is not allowed by policy"] [data "utf-8"] [severity "CRITICAL"] [ver "OWASP_CRS/3.2.0"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-protocol"] [tag "OWASP_CRS"] [tag "OWASP_CRS/PROTOCOL_VIOLATION/CONTENT_TYPE_CHARSET"] [tag "WASCTC/WASC-20"] [tag "OWASP_TOP_10/A1"] [tag "OWASP_AppSensor/EE2"] [tag "PCI/12.1"]
Action: Intercepted (phase 1)
Apache-Handler: IIS
Stopwatch: 1590421305747749 0 (- - -)
Stopwatch2: 1590421305747749 0; combined=0, p1=0, p2=0, p3=0, p4=0, p5=0, sr=0, sw=0, l=0, gc=0
Producer: ModSecurity for IIS (STABLE)/2.9.2 (http://www.modsecurity.org/); OWASP_CRS/3.2.0.
Server: ModSecurity Standalone
Engine-Mode: "ENABLED"