Posible malware: deserialización de clase phpupdate desconocida en sesiones PHP #65
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Labels: area:infra, area:joomla, bug:critical, security
Síntoma
Tras cerrar #46 (PHP 8.3 estable + hotfix
itemlistfilter.php), el log capturó un fatal nuevo a la 01:20:27 (CET):El path
tmp/ssess_*es un fichero de sesión PHP. El error se dispara al deserializar un objetophpupdatedesde la sesión, y el constructor intenta hacerob_start()(output buffering) durante un handler de output ya activo — operación prohibida.Por qué huele a malware
class phpupdatedeclarada en el árbol Joomla actual (verificado en/web/remoto yjoomla-php83/local).phpupdatesimula un componente de actualización del sistema. Patrón habitual de cloaking.Lo que NO sabemos todavía
/usr/home/feadulta.com/tmp/).phpupdatese llega a cargar dinámicamente (require/autoload) desde algún punto.Líneas de investigación
tmp/ycache/buscando otrasssess_*conphpupdate.phpupdate(no soloclass phpupdate) en todo/web/.cli/,tmp/,cache/,administrator/cache/, sesiones DB y cualquier sitio donde se serializan objetos.tmp/ssess_*resuelve el síntoma.Relación con #46
#46 limpió 7 inyecciones SEO en
templates/fe_adulta_1/index.php+ barrido general que no encontró webshells. Este hallazgo apunta a una segunda vía de persistencia (vía sesiones) que el barrido estático no podía ver. Trato como follow-up de seguridad de #46.Prioridad
Alta. Aunque el síntoma actual es solo un fatal en log (no afecta UX), si hay malware activo creando sesiones con su clase es un compromiso vivo que debe cerrarse antes del cutover DNS.