Para mitigar esta vulnerabilidad, se debe realizar una actualización a PHP en RHEL.
A continuación, los pasos a realizar (el servidor deberá tener salida a internet).
Primera opción: si PHP 8.1 o 8.2 están en la lista al ejecutar el paso 2
Paso 1: Verificar la versión actual. Ejecuta en la terminal lo siguiente, esto mostrará la versión instalada.
Code Block |
---|
php -v |
Paso 2: Verificar las versiones disponibles.
Code Block |
---|
dnf module list php |
Ejemplo de salida esperada:
Code Block |
---|
Name Stream Profiles Summary php 7.2 common [d], devel PHP scripting language php 7.3 common, devel PHP scripting language php 7.4 common, devel PHP scripting language php 8.0 common, devel PHP scripting language php 8.1 common, devel PHP scripting language php 8.2 common, devel PHP scripting language |
El [d] indica la versión predeterminada. Si PHP 8.1 o 8.2 están en la lista, continúa al paso 3.
Paso 3: Habilitar el módulo de la nueva versión de PHP. Si deseas instalar PHP 8.2, primero debes deshabilitar el módulo actual y luego habilitar el nuevo.
Code Block |
---|
sudo dnf module reset php -y sudo dnf module enable php:8.2 -y |
Paso 4: Instalar PHP y sus módulos. Instala PHP y los módulos necesarios.
Code Block |
---|
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-xml php-curl php-mbstring php-zip php-gd php-bcmath |
Paso 5: Verificar la versión instalada. Después de la instalación, confirma la nueva versión.
Code Block |
---|
php -v |
Paso 6: Reiniciar servicio Apache. Si usas Apache, reinicia el demonio.
Code Block |
---|
sudo systemctl restart httpd |
Segunda opción: si PHP 8.1 o 8.2 no están en la lista al ejecutar el paso 2
Paso 1: Verificar la versión actual. Ejecuta en la terminal lo siguiente, esto mostrará la versión instalada.
Code Block |
---|
php -v |
Paso 2: Verificar las versiones disponibles.
Code Block |
---|
dnf module list php |
Ejemplo de salida esperada:
Code Block |
---|
Name Stream Profiles Summary php 7.2 common [d], devel PHP scripting language php 7.3 common, devel PHP scripting language php 7.4 common, devel PHP scripting language php 8.0 common, devel PHP scripting language |
El [d] indica la versión predeterminada. Si PHP 8.1 o 8.2 no están en la lista, instala EPEL y Remi (Paso 3).
Paso 3: Habilitar Repositorio Remi (Para PHP 8.1 o 8.2). Si necesitas PHP 8.1 o 8.2, instala los repositorios EPEL y Remi.
Code Block |
---|
sudo dnf install -y epel-release sudo dnf install -y dnf-utils sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm sudo dnf module reset php -y |
Paso 4: Habilita la versión deseada.
Para PHP 8.1:
Code Block |
---|
sudo dnf module enable php:remi-8.1 -y |
Para PHP 8.2:
Code Block |
---|
sudo dnf module enable php:remi-8.2 -y |
Paso 5: Instalar o actualizar PHP. Ejecutar lo siguiente.
Code Block |
---|
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-json php-opcache php-xml php-mbstring |
Si ya tienes PHP instalado y solo deseas actualizarlo, ejecuta lo siguiente.
Code Block |
---|
sudo dnf update -y php\* |
Paso 6: Verificar la nueva versión.
Code Block |
---|
php -v |
Debe mostrar la versión instalada, por ejemplo:
Code Block |
---|
PHP 8.2.7 (cli) (built: Nov 14 2023 12:15:23) ( NTS ) |
Paso 7: Reiniciar servicio Apache. Reinicia el demonio.
Code Block |
---|
sudo systemctl restart httpd |