Una falla en la extensión Phar de PHP (CVE-2026-6103) permite que un archivo TAR manipulado haga aparecer y extraer archivos que en realidad no contiene. Afecta a aplicaciones PHP que abren archivos TAR no confiables con PharData o phar://, incluido Composer al instalar paquetes .tar.gz. Actualiza PHP a 8.2.34, 8.3.35, 8.4.26 o 8.5.11 según tu rama.
Qué está pasando
La extensión Phar de PHP incluye un lector de archivos TAR que se usa con la clase PharData y el envoltorio phar://. La función phar_tar_number() lee el campo de tamaño de cada entrada del TAR sin controlar desbordamientos: si el tamaño declarado supera 4 GB, el valor se reinicia a un número pequeño (por ejemplo, 0 o 1).
Con ese tamaño erróneo, PHP salta una cantidad incorrecta de datos y termina interpretando contenido controlado por el atacante como si fuera la cabecera de una nueva entrada. Así, un archivo TAR manipulado puede incluir entradas ocultas, con nombre, tamaño y contenido elegidos por el atacante, o reemplazar una entrada legítima que tenga el mismo nombre. GNU tar rechaza ese mismo archivo, pero PharData lo acepta.
El impacto práctico es que una aplicación ve un conjunto de archivos distinto del que ven otras herramientas, y extractTo() escribe en disco las entradas inyectadas. Una herramienta que revise el archivo antes de extraerlo puede inspeccionar unos archivos y terminar extrayendo otros. El boletín destaca que el TarDownloader de Composer usa PharData y extractTo() para cada paquete .tar.gz, por lo que un paquete manipulado podría colocar archivos en vendor/.
El aviso califica la falla como de gravedad media (CVSS 4.0, vector local) y publica los pasos de una prueba de concepto. No informa explotación activa.
Vulnerabilidades
| CVE | CVSS | Descripción |
|---|---|---|
| CVE-2026-6103 | 4 | Desbordamiento de entero en phar_tar_number() de la extensión Phar de PHP al leer el tamaño de entradas TAR, que permite inyectar entradas falsas que PharData lista y extrae como legítimas. |
Productos afectados
| Producto | Versiones afectadas | Versión corregida |
|---|---|---|
| PHP (ext-phar) rama 8.2 | < 8.2.34 | 8.2.34 |
| PHP (ext-phar) rama 8.3 | < 8.3.35 | 8.3.35 |
| PHP (ext-phar) rama 8.4 | < 8.4.26 | 8.4.26 |
| PHP (ext-phar) rama 8.5 | < 8.5.11 | 8.5.11 |
Qué hacer ahora
- Revisa qué versión de PHP tienes instalada en cada servidor y equipo de desarrollo o integración (por ejemplo, con
php -v). - Actualiza PHP a la versión corregida de tu rama: 8.2.34, 8.3.35, 8.4.26 o 8.5.11.
Te ayudamos a revisar sin costo si tus servidores o equipos usan una versión afectada por esta alerta, y qué conviene hacer primero.
Prioriza los servidores donde PHP procesa archivos TAR que vienen de afuera: aplicaciones que aceptan cargas de archivos comprimidos y, sobre todo, los servidores de compilación o despliegue donde se ejecuta Composer, que es el caso que el propio aviso menciona. Lo que suele pasarse por alto es que PHP no solo está en el servidor web: también está en equipos de desarrolladores, pipelines de CI/CD y contenedores con imágenes antiguas que hay que reconstruir.
Mientras actualizas, desconfía de paquetes de orígenes no verificados y revisa que tus dependencias provengan de repositorios confiables. Si usas distribuciones Linux con PHP empaquetado, confirma con tu proveedor que la versión que instalas incluye la corrección, ya que la numeración puede diferir.
Cómo te ayuda UpTech
Con Gestión de Parches, las actualizaciones de seguridad de sistemas operativos y aplicaciones se aplican de forma programada, sin depender de que alguien lea esta alerta a tiempo.
Conocer el servicio → Servicios Gestionados TICon el inventario automatizado de hardware y software sabes de inmediato qué equipos tienen la versión afectada.
Conocer el servicio →Referencias
- https://github.com/php/php-src/security/advisories/GHSA-j3wh-g957-2m85
- https://www.cve.org/CVERecord?id=CVE-2026-6103