D7VK 2.4 se afianza en mantenimiento y GXVK mira a Glide

D7VK 2.4

La versión D7VK 2.4 ha llegado con un enfoque continuista: el proyecto que traduce Direct3D 7, 6, 5 y 3 sobre Vulkan sigue en modo de mantenimiento, sin grandes novedades funcionales, pero con una tanda de ajustes pensados para juegos antiguos. La noticia ha llamado la atención porque el desarrollo se había declarado maduro y parecía haber entrado en una fase tranquila; aun así, el equipo ha publicado correcciones y mejoras que afectan a la compatibilidad y al comportamiento en entornos Linux.

Junto a ese lanzamiento aparece GXVK, un proyecto hermano que lleva la API Glide de 3Dfx a Vulkan. La propuesta busca que títulos de la época de las Voodoo puedan ejecutarse en sistemas modernos mediante Wine y Linux, aunque sus responsables insisten en que se trata de un prototipo muy temprano. No es una solución terminada ni pretende ofrecer todavía una experiencia redonda, pero sí abre una vía de preservación de código abierto para un catálogo que, en muchos casos, dependía de capas de traducción propietarias o de soluciones cerradas.

Qué cambia en D7VK 2.4

El cambio más visible está en la gestión de aspectos y resoluciones. D7VK 2.4 incorpora la conservación de la relación de aspecto al estirar el búfer trasero y deja desactivado por defecto ese estiramiento, de modo que los juegos no se adaptan de forma forzada a pantallas actuales. También se aplican límites clásicos de superficies y modos de DirectDraw, con una opción para saltarse ciertas validaciones, algo útil para quienes trastean con configuraciones poco habituales.

Hay además un modo de compatibilidad que solo anuncia resoluciones 4:3 y 5:4 a la aplicación. Este ajuste responde a casos concretos: Earth 2150 y sus expansiones podían bloquearse al entrar en ciertas partes de la interfaz cuando se usaban resoluciones 16:9. En la misma línea, se han corregido fallos de texto y elementos gráficos ausentes en Re-Volt y 3DMark 2000, y se ha mejorado el comportamiento general bajo Wayland.

  • Ajustes de aspecto: se conserva la relación de aspecto y el estiramiento del búfer trasero queda desactivado por defecto.
  • Modos clásicos: se aplican límites tradicionales de DirectDraw y una opción para omitir validaciones.
  • Compatibilidad puntual: modo 4:3 y 5:4 para Earth 2150 y correcciones de texto en Re-Volt y 3DMark 2000.
  • Wayland: mejora el comportamiento y el encaje de imagen en entornos compatibles.

GXVK y el legado de Glide

La otra pata de la noticia es GXVK, nacido a partir del código de DXVK, igual que D7VK. Su objetivo es cubrir las tres variantes de 32 bits de Glide que 3Dfx distribuyó para Windows, con un enfoque claro en Wine y Linux y sin intención de convertirse en una solución universal para cualquier sistema operativo.

GXVK se apoya en Vulkan para que juegos de la era Voodoo puedan funcionar en equipos actuales, con un enfoque claro en Wine y Linux. No obstante, el propio proyecto se describe como un prototipo muy temprano: lo que ya arranca puede ir lento y es probable que aparezcan errores en muchos títulos. La intención es ir ampliando compatibilidad poco a poco, no prometer milagros de la noche a la mañana.

Compatibilidad, expectativas y contexto

Merece la pena separar D7VK 2.4 de GXVK. El primero es un proyecto ya asentado que sigue recibiendo mantenimiento para Direct3D antiguo; el segundo es una iniciativa nueva y experimental centrada en Glide. D7VK 2.4 no añade grandes funciones, pero sí optimizaciones y correcciones que pueden notarse en juegos clásicos y en configuraciones de pantalla poco habituales.

En el caso de GXVK, el foco está en Wine y Linux, más que en Windows, y el proyecto se encuentra en una fase inicial. Su valor está en ofrecer una alternativa abierta dentro del ecosistema Vulkan para juegos que dependían de Glide. Para el usuario, la recomendación es prudencia: probar, revisar el rendimiento y no dar por hecho que cualquier título antiguo vaya a funcionar a la primera.

La publicación de D7VK 2.4 deja una actualización de mantenimiento con retoques de aspecto, límites clásicos de DirectDraw y correcciones para títulos concretos, mientras que GXVK amplía el horizonte con una traducción experimental de Glide a Vulkan. La idea de fondo es facilitar que juegos muy antiguos sigan siendo utilizables en equipos modernos, sobre todo en Linux con Wine, sin prometer por ello una compatibilidad universal ni un rendimiento perfecto desde el primer día.


Canonical reactiva la idea de Ubuntu Core Desktop

Ubuntu Core Desktop

Supongo que si empiezo este artículo diciendo algo sobre «malas noticias», habrá mucha gente que esté de acuerdo conmigo. Y es que hace poco, Canonical publicó en su Discourse un hilo hablando de la reactivación de Ubuntu Core Desktop, una versión inmutable de Ubuntu. El problema es que confiará sólo en paquetes snap, o así será por defecto; siempre se podrá usar Workshops para instalar más software.

Pero la mala noticia no es que hayan reactivado y acelerado un proyecto como este. La mala noticia es que Canonical sigue haciendo de las suyas, y se plantea la posibilidad de que esta nueva versión, sin apt, ni nix ni flatpak ni nada por el estilo, termine convirtiéndose en la versión «normal» de Ubuntu. La buena noticia es que, aunque sea lo primero que ofrezcan, se espera que la «actual normal» siga existiendo.

Ubuntu Core Desktop como opción predeterminada

Usar Linux puede llegar a ser un problema. Una actualización puede romper algo, por lo que no se puede recomendar a cualquier usuario. Estos problemas se reducen en las distribuciones inmutables o atómicas, que no permiten tocar nada importante del sistema operativo y, además, las actualizaciones suelen ser imágenes completas del sistema.

Por ese motivo existen las distribuciones inmutables, y muchos desarrolladores eligen esta opción cuando quieren llegar al gran público. Que se lo digan a Valve con su SteamOS. Sistema que, por cierto, he llegado a plantearme para mi portátil si lo que uso en la actualidad termina dándome la lata. También hay versiones inmutables de Fedora, en parte con el objetivo de que sea más difícil de romper. Así lo dice también KDE en el desarrollo de su KDE Linux.

Canonical no lo dice así directamente, pero puede que esté pensando en lo mismo: para la mayor parte de usuarios, un sistema inmutable puede ser la mejor opción, y es lo que ofrecerían para descargar en su página web de manera más visible.

Casos de uso de esta versión

Canonical explica que, en un principio, hay tres motivos o casos de uso de Ubuntu Core Desktop:

Equipo con el navegador como centro

Muchas personas usan el PC y se quedan casi todo el tiempo en el navegador. Yo mismo me paso casi todo el tiempo en él, y mira que hago muchas cosas. Muchas aplicaciones están accesibles desde el navegador, y en lo personal sólo uso aplicaciones locales en contadas ocasiones. Por ejemplo, GIMP, pero podría usar Photopea. Incluso existe VSCode.

Estación de trabajo para desarrolladores

Como ellos mismos reconocen, esto sería lo más difícil, pues Ubuntu Core Desktop no tiene acceso a muchas de las herramientas en las que confiarían los desarrolladores. Pero existen LXD y Workshops, programas para usar software en contenedores que permiten extender posibilidades. Es básicamente su implementación de Distrobox, salvando as distancias.

Aunque sea uno de los tres puntos que mencionan, honestamente creo que no deberían añadirlo como reclamo porque sería complicar las cosas.

Una máquina de juegos

En el hilo se habla de que la Steam Deck y otros ordenadores de mano se han hecho muy populares en los últimos años. Se menciona el snap de Steam y otras cosas, y siguiendo con la sinceridad que me caracteriza, tampoco termino de tener claro que una versión inmutable como Ubuntu Core Desktop sea lo mejor para jugar.

Para juegos ya existe SteamOS, también disponible para equipos normales. Y si no, Bazzite, que además puede instalar todos los emuladores que queramos tirando de Flathub. Incluso el Ubuntu actual sería mejor para jugar, en mi opinión.

Ubuntu Core Desktop ofrecerá imágenes de desarrollo de 27.04

Hasta que el lanzamiento se haga oficial y se vayan respondiendo todas las cuestiones, Canonical ha confirmado que habrá Daily Builds de Ubuntu Core Desktop para 27.04. Así que lo mejor que puede hacer cualquier interesado es probar estas imágenes para saber si satisface sus necesidades.

En lo personal, no me emociona enormemente este anuncio, sobre todo por la ausencia de soporte para paquetes flatpak. Pero quién sabe, quizá estemos hablando de lo que termine convirtiéndose en el Linux del futuro.


Tails 7.16 actualiza Tor Browser a Firefox 153 y corrige OpenPGP en Thunderbird

Tails 7.16

La nueva versión de Tails 7.16 ya está disponible con actualizaciones de sus principales componentes de navegación anónima y una corrección relacionada con el cifrado del correo electrónico. El proyecto ha incorporado Tor Browser 16.0 y actualizado el cliente Tor a la versión 0.4.9.15, además de solucionar un problema que impedía utilizar correctamente OpenPGP en Thunderbird.

Tails es una distribución GNU/Linux basada en Debian cuyo objetivo es proteger la privacidad y el anonimato de sus usuarios. Todo el tráfico de Internet se canaliza a través de la red Tor, mientras que el sistema está diseñado para ejecutarse desde una memoria USB y no dejar rastros en el ordenador utilizado una vez apagado. La versión 7.16 continúa esta estrategia con una actualización centrada en mantener al día sus herramientas fundamentales.

Tor Browser 16.0 llega a Tails

La principal novedad de Tails 7.16 es la incorporación de Tor Browser 16.0, que está basado en Firefox 153. Esta versión hereda el rediseño de los ajustes introducido en el navegador, con una organización renovada de sus opciones de configuración.

El cambio afecta a la forma de acceder y gestionar diferentes preferencias del navegador. La nueva disposición busca facilitar la localización de los ajustes y reorganiza distintas categorías de configuración, siguiendo la evolución de Firefox.

La actualización es especialmente relevante en Tails porque Tor Browser constituye una de las herramientas centrales del sistema. Su integración permite navegar a través de la red Tor sin tener que configurar manualmente un navegador convencional para utilizarla.

Actualización del cliente Tor en Tails 7.16

El segundo cambio destacado es la actualización del cliente Tor a la versión 0.4.9.15. Este componente se encarga de establecer las conexiones con la red Tor y gestionar la comunicación necesaria para acceder a Internet de forma anónima.

Mantener actualizado el cliente es importante para incorporar las correcciones y mejoras de las versiones recientes del proyecto Tor. Tails integra estos componentes dentro de su propio sistema, por lo que las actualizaciones se distribuyen mediante las nuevas imágenes y los mecanismos de actualización de la distribución.

Thunderbird recupera el soporte OpenPGP

Tails 7.16 también corrige un problema que afectaba a la compatibilidad con OpenPGP en Thunderbird. Este sistema permite cifrar y firmar mensajes de correo electrónico, proporcionando herramientas para proteger el contenido de las comunicaciones y comprobar su autenticidad.

La incidencia solucionada estaba registrada con el identificador #21841 en el sistema de seguimiento de errores del proyecto. Su resolución permite recuperar el funcionamiento esperado de esta característica, especialmente importante para los usuarios que utilizan el correo electrónico como parte de sus comunicaciones protegidas.

Actualización a Tails 7.16 sin perder el almacenamiento persistente

Los usuarios que ya utilizan Tails pueden actualizar automáticamente desde la versión 7.0 o posteriores a Tails 7.16. Este procedimiento permite conservar el almacenamiento persistente de la memoria USB, donde se pueden guardar documentos, configuraciones y otros datos entre sesiones.

Si la actualización automática no funciona o el sistema deja de arrancar después de aplicarla, el proyecto recomienda recurrir al procedimiento de actualización manual.

También es posible realizar una instalación nueva utilizando la imagen USB o la imagen ISO, destinada a DVD y máquinas virtuales. Sin embargo, hay una diferencia importante: instalar Tails desde cero en una memoria USB elimina el almacenamiento persistente que pudiera contener. Por tanto, quienes quieran conservar sus datos deben utilizar el procedimiento de actualización en lugar de realizar una instalación nueva.

Tails 7.16 está disponible desde la página oficial de descargas. Los detalles completos de esta versión, así como las instrucciones para actualizar, pueden consultarse en el anuncio oficial del proyecto.


Qué es PHP2 Shell y cómo afectó a los sitios web

En esta infografía explicamos lo más relevante sobre PHP2Shell

Continuando con nuestra serie de artículos sobre el problema de seguridad más grave conocido en lo que queda del año, llegó el momento de explicar qué es PHP2Shell y cómo solucionarlo en Ubuntu.

Como explicamos anteriormente, PHP es un lenguaje de programación de código abierto pensado para usarse del lado del servidor. Según las estadísticas disponibles públicamente, lo utilizan alrededor del setenta y cinco por ciento de los sitios web (incluido este blog).

Qué es PHP2Shell y cómo afectó a los sitios web

Para entender qué hace PHP2Shell, primero tenemos que entender el concepto de motor PHP.

El motor PHP (que recibe técnicamente el nombre de Zend Engine en sus últimas versiones) es el programa intérprete encargado de leer, traducir y ejecutar el código PHP en un servidor web. Su trabajo es convertir las instrucciones escritas en PHP en resultados útiles (formatos HTML, JSON, datos, etc.).

El proceso de trabajo es el siguiente:

Paso 1: Análisis léxico

El procesador lee el código carácter por carácter y lo clasifica en palabras clave, variables, operadores, números y otros componentes importantes.

Paso 2: Parsing

En esta etapa, el motor analiza el resultado del paso anterior para comprobar que tenga sentido según las reglas del lenguaje.

Paso 3: Compilación a opcodes

En este paso, el motor convierte el código PHP en opcodes (códigos de operación), que son instrucciones de bajo nivel que facilitan a la máquina virtual de PHP la ejecución del código más rápidamente.

Paso 4: Ejecución

Aquí, la máquina virtual de PHP ejecuta los opcodes uno por uno, mientras interactúa con el sistema de archivos, la memoria RAM y las bases de datos para lograr el resultado final. Desde la versión PHP 5.5, el motor incluye OPcache, una extensión que guarda en la memoria RAM los opcodes ya compilados. Esto hace posible que, en las siguientes peticiones, el motor se salte los pasos 1, 2 y 3 y pase directamente al 4.

PHP2Shell

El nombre PHP2Shell se le asignó a una familia de vulnerabilidades críticas de seguridad de memoria que se determinó que afectaban directamente al núcleo, al motor y al intérprete del lenguaje PHP.

Estas dos vulnerabilidades están integrada por:

  • CVE-2026-109618: Descripta como corrupción de memoria por agotamiento de memoria (out-of-memory). Sucede cuando una petición agota el límite configurado (memory_limit) durante el tiempo asignado para la inicialización de los datos de entrada; esto hace que las rutinas de limpieza traten estructuras incompletas como válidas, permitiendo la ejecución de código malicioso.
  • CVE-2026-109619: Descripta como reutilización de estado global obsoleto o liberado (use-after-free)[5]. Sucede cuando un proceso de trabajo (worker) guarda punteros a memoria liberada de una petición anterior y una petición posterior en el mismo worker vuelve a utilizarlos.

Mediante estas vulnerabilidades, los atacantes pueden:

  • Lograr la ejecución remota de código con los privilegios del proceso del servidor web, aunque el atacante no esté autenticado.
  • Permitir la filtración de información sensible de la memoria del proceso, con la consiguiente exposición de contraseñas, claves API, tokens de autenticación y certificados utilizados por otros procesos.
  • Obtener acceso, por más seguro que sea el código de la aplicación. Esto lo logran al actuar sobre el motor de PHP y no sobre las aplicaciones (como WordPress, Drupal o Joomla).
  • Afectar a gran parte de las versiones de PHP, desde la versión 5.4 hasta las ramas 8.x que no fueron actualizadas.

¿Cómo y para qué usan esta vulnerabilidad los atacantes?

La explotación depende de cuál de las dos vulnerabilidades se aproveche:

CVE-2026-109618 (corrupción por agotamiento de memoria / OOM)

  1. Inducción del límite de memoria: el delincuente informático envía una petición HTTP pensada para gastar rápidamente la memoria del proceso de trabajo (*worker*) hasta llegar al límite fijado por la directiva memory_limit. Esto puede hacerlo enviando múltiples archivos o campos de formulario complejos.
  2. Interrupción abrupta con longjmp(): cuando se detecta la falta de memoria, PHP interrumpe inmediatamente el flujo normal y va directamente a la rutina de cierre de la petición (request shutdown).
  3. Corrupción de estructuras y ejecución: cuando se hace este salto, se omiten la inicialización y la limpieza ordenada de variables, lo que hace que permanezcan estructuras internas en un estado incompleto e inválido. El atacante logra manipular previamente la memoria (heap spraying), enviando parámetros de formulario en forma masiva con estructuras de C. Durante la fase de apagado, PHP lee la memoria inconsistente y, cuando evalúa punteros a funciones o destructores corruptos, la ejecución utiliza las instrucciones del atacante, lo que permite la ejecución remota de código.

CVE-2026-109619 (uso de memoria liberada / use-after-free)

  1. Generación del puntero descolgado (Producer): en este caso, el delincuente produce un error fatal o de memoria al principio del arranque de la petición, en las características activas por defecto (por ejemplo, en el seguimiento del progreso de carga de archivos session.upload_progress o en las trazas de errores fatales). Cuando termina la petición de manera anormal, PHP libera la memoria de la solicitud, pero mantiene punteros globales que apuntan a esa dirección ya liberada.
  2. Reutilización en peticiones posteriores (Consumer): como un mismo proceso de trabajo (worker) atiende varias peticiones HTTP consecutivas, una segunda petición enviada al mismo worker interactúa con ese estado global no reinicializado antes de que PHP limpie el puntero.
  3. PHP copia fragmentos de la memoria interna del proceso a través del puntero liberado dentro de la cookie de sesión PHPSESSID en la respuesta HTTP. Con esto, el delincuente informático logra extraer contraseñas, tokens de autenticación, claves API y certificados correspondientes a otras peticiones del servidor.
  4. Ejecución remota de código (RCE): el atacante sobrescribe el bloque de memoria liberado insertando estructuras de funciones falsas (incluidas llamadas a comandos del sistema, como system()). Cuando la siguiente petición ejecuta la rutina de actualización, el motor sigue el puntero manipulado y ejecuta la orden.
  5. Confusión de tipos en OPcache: en las versiones más actuales que utilizan la caché de código compilado (OPcache), los errores de asignación pueden permitir que distintos workers compartan metadatos obsoletos, lo que produce una confusión de tipos que logra corromper la memoria compartida.

El resultado de todas estas acciones es el siguiente:

Una vez explotada la vulnerabilidad, el atacante, con los privilegios del proceso del servidor web, puede:

  • Ejecutar comandos de la consola para identificar al usuario y el entorno.
  • Escribir scripts maliciosos en carpetas públicas o de subida para permitir el acceso posterior como puerta trasera.
  • Conectarse al servidor de forma remota.
  • Leer archivos de configuración y bases de datos, e intentar acceder a otros sistemas de la red.

Versiones de Ubuntu afectadas y cómo solucionarlo

Versión de Ubuntu Versión de PHP Paquete corregido
Ubuntu 14.04 LTS (Trusty) PHP 5 5.5.9+dfsg-1ubuntu4.29+esm18
Ubuntu 16.04 LTS (Xenial) PHP 7.0 7.0.33-0ubuntu0.16.04.16+esm22
Ubuntu 18.04 LTS (Bionic) PHP 7.2 7.2.24-0ubuntu0.18.04.17+esm14
Ubuntu 20.04 LTS (Focal) PHP 7.4 7.4.3-4ubuntu2.29+esm5
Ubuntu 22.04 LTS (Jammy) PHP 8.1 8.1.2-1ubuntu2.28
Ubuntu 24.04 LTS (Noble) PHP 8.3 8.3.6-0ubuntu0.24.04.13
Ubuntu 26.04 LTS (Resolute) PHP 8.5 8.5.4-0ubuntu1.5
Ubuntu 26.10 (Stonking) PHP 8.5 8.5.9-0ubuntu2.1
  • Ubuntu 14.04 y 16.04: requieren Ubuntu Pro y el complemento Legacy Support.
  • Ubuntu 18.04 y 20.04: requieren Ubuntu Pro con ESM.
  • Ubuntu 22.04 y posteriores: reciben la corrección mediante las actualizaciones estándar.

Para instalar los paquetes con las correcciones:

Actualizamos la lista de paquetes de los repositorios:

sudo apt update

Actualizamos los paquetes:

sudo apt upgrade

Comprobamos la versión instalada:

apt list '?installed ?name(^php[0-9.]+$)'

Reiniciamos los servicios que utilizan PHP:

sudo systemctl restart nombre_del_servicio

Si utilizamos PHP-FPM:

sudo systemctl restart phpX.X-fpm

Donde X.X debe sustituirse por el número de versión correspondiente.

Recuerda que todos estos pasos solo son necesarios si tienes aplicaciones que se ejecuten bajo PHP.


Cómo se clasifican los problemas de seguridad como PHP2Shell

Mecanismo de detecctión y clasificaciń de bugs

Continuando con nuestra serie de artículos sobre el grave problema de seguridad informática ocurrido en la penúltima semana de octubre de 2026, explicaremos cómo se clasifican los problemas de seguridad informática para luego advertir sobre ellos y facilitar el acceso a las soluciones. De lo que se trata es de separar la realidad de la falsa información proporcionada por el sensacionalismo y el odio al lenguaje de programación.

PHP2Shell fue una vulnerabilidad grave y explotada antes de que se hiciera pública su existencia y es una más en la serie de vulnerabilidades que se irán descubriendo en los próximos meses gracias al uso de la inteligencia artificial. Esto obligará a los responsables de servicios web a estar atentos a su aparición y a la de las soluciones.

Pero antes de seguir con el artículo, quiero destacar algunas aclaraciones sobre cosas que dije en el artículo anterior.

  • Conexión a bases de datos: Cuando dije que a las bases de datos solo se puede acceder desde el servidor, hablaba de buenas prácticas, no de imposibilidades técnicas. Permitir el acceso solo desde el servidor garantiza que las credenciales solo las tengan quienes estén autorizados a realizar las operaciones de lectura, escritura, eliminación y actualización de datos. De esta forma se protege la información sensible.
  • Distinción entre contenido PHP y no PHP: No necesariamente el contenido PHP debe estar separado del contenido HTML, siempre que esté entre etiquetas identificadoras. El contenido que no es PHP no se interpreta como código durante el procesamiento, pero se utiliza para dar formato a la salida.
  • Generación de CSS: Aunque puede generar contenido en formatos CSS, JSON o HTML, la práctica habitual es que el contenido CSS esté en una hoja externa que se invoca desde una página con extensión .html o .php.
  • Usos de PHP: Si bien, en su forma tradicional, PHP no puede usarse para comunicaciones en tiempo real, existen extensiones, aplicaciones y bibliotecas que le dan esa funcionalidad.
  • Necesidad de un servidor: PHP no necesita un servidor web; se puede usar desde la línea de comandos o incluso mediante interfaces gráficas. Pero no está pensado para ese uso, por lo que, en general, los desarrolladores prefieren otras alternativas.
  • Versiones y vulnerabilidades: Al ser un lenguaje de programación de más de 30 años, PHP tiene varias versiones y subversiones. No todas las vulnerabilidades que aparecen ni todos los parches que se publican afectan por igual. Lo ideal es actualizar cada vez que se publique una nueva versión estable.

Cómo se clasifican los problemas de seguridad informática

Para entender qué es PHP2Shell, debemos entender primero cómo funciona el sistema de detección y corrección de errores en informática.

El identificador CVE

Las letras CVE corresponden al acrónimo de Vulnerabilidades y Exposiciones Comunes (Common Vulnerabilities and Exposures) y se refieren a un sistema internacional estandarizado que contiene las vulnerabilidades de seguridad que se descubrieron y se hicieron públicas. Cada identificador adquiere esta forma:

  • CVE: Como dijimos, indica que se trata de una vulnerabilidad común.
  • AÑO: Indica el año en que se le asignó el ID o se hizo público el error.
  • NÚMERO: Es el identificador secuencial único (debe tener un mínimo de cuatro dígitos.

El objetivo es que todas las personas involucradas en su detección, mitigación o solución sepan que se están refiriendo al mismo problema.

Las etapas entre el descubrimiento y la asignación del CVE son:

Etapa 1: Descubrimiento

Los errores en el software son detectados generalmente por investigadores, integrantes de la comunidad de desarrolladores, herramientas automatizadas, aficionados participantes de programas de caza de bugs y, en los últimos tiempos, por modelos de inteligencia artificial.

Etapa 2: Reporte confidencial

Si una persona detecta un bug y lo hace público antes de que los desarrolladores tengan tiempo de encontrar una solución, es una invitación abierta a los delincuentes informáticos para aprovecharlo. Lo ideal es que lo comunique en forma privada a los desarrolladores o a una entidad asignadora de CVE, dándoles un plazo prudencial para el desarrollo del parche.

Etapa 3: Validación y asignación del CVE

Una vez que se comprueba que el bug es reproducible y constituye un problema de seguridad, se le asigna un CVE. Esto puede hacerse de dos formas:

  • En caso de que el desarrollador sea un CNA autorizado (como Microsoft, Google, GitHub o Red Hat), este se ocupa de generar y asignar el número CVE.
  • En caso de que el desarrollador no lo sea, la solicitud se envía a la organización sin fines de lucro MITRE Corporation. Esta entidad, financiada por el gobierno de Estados Unidos, es la encargada de administrar el sistema CVE.

Etapa 4: Publicación

Ya sea que el parche esté listo o no, si se vence el plazo de confidencialidad, la corporación MITRE publica en su sitio web una entrada que contiene:

  • El identificador CVE.
  • Una breve descripción del fallo.
  • Enlaces al aviso del fabricante y al parche, si está disponible.

Etapa 5: Agregado de información

Otra vez interviene el gobierno norteamericano, pero esta vez directamente a través del Instituto Nacional de Estándares y Tecnología (NIST, por sus siglas en inglés). El NIST maneja la Base de Datos Nacional de Vulnerabilidades (NVD). En esta base de datos se agrega la siguiente información:

  • La puntuación CVSS (Common Vulnerability Scoring System): Es una nota del 0,0 al 10,0 que indica la gravedad del bug. Cuanto más alta, más grave.
  • Clasificación CWE (Common Weakness Enumeration): Indica el tipo de fallo.
  • Software afectado (usando el formato CPE, Common Platform Enumeration): Indica una lista exacta de las versiones vulnerables de los programas afectados.

¿Qué pasa fuera de Estados Unidos?

El artículo se concentró en el sistema norteamericano porque en la Unión Europea no existe una agencia centralizada para la clasificación de problemas informáticos y se apoya en la base de datos del NVD para su trabajo. Sin embargo, en los últimos tiempos está impulsando proyectos para reducir la dependencia de bases de datos extranjeras mediante el Centro Europeo de Competencia en Ciberseguridad (ECCC). Como parte de eso, 13 de mayo de 2025, la Agencia de la Unión Europea para la Ciberseguridad (ENISA) puso en marcha la EUVD (European Vulnerability Database), una base de datos europea de vulnerabilidades.

Además de la información de Mitre y NVD incluye:

  • Información sobre desarrolladores de software y fabricantes de hardware.
  • Detalle de los equipos de respuesta a incidentes.
  • Información sobre vulnerabilidades explotadas.

Otras entidades de respuesta son:

  • CERT-EU: Es un equipo de respuesta a incidentes informáticos que puedan afectar a las instituciones de la UE. Analiza las vulnerabilidades globales (CVE) y emite alertas específicas sobre cómo pueden afectar a las instituciones relacionadas.
  • CSIRT nacionales: Cada país tiene el suyo (por ejemplo, CERT-ES en España). Actúan cuando se publica un CVE crítico (como PHP2Shell). Se ocupan de difundir la información en el idioma local y trabajar con las instituciones y empresas locales para solucionarlos.

Lanzamientos destacados de Distros para octubre 2026: OpenMandriva Lx 26.09 «ROME», Nitrux 7.0.0 y umbrelOS 2.0.0

Lanzamientos de septiembre 2026: OpenMandriva, Nitrux y umbrelOS

Lanzamientos de septiembre 2026: OpenMandriva, Nitrux y umbrelOS

Hoy, el presente mes ha de terminar, y por ello, como de costumbre, en este día abordaremos todos los presentes «lanzamientos de Distros durante octubre de 2026». Periodo en el cual, ha habido una cantidad un poco mayor, a la del mes pasado, es decir, que en septiembre de 2026.

Además, en el mismo detallaremos, como de costumbre, 3 de los primeros lanzamientos del presente mes, los cuales fueron: OpenMandriva Lx 26.09 «ROME», Nitrux 7.0.0 y umbrelOS 2.0.0. Así que, sigue leyendo para que te enteres de sus novedades, y de las fechas de los demás lanzamientos de Distros *Linux / *BSD anunciados en este periodo mensual.

Lanzamientos de septiembre 2026: Grml, Talos Linux y NetBSD

Lanzamientos de septiembre 2026: Grml, Talos Linux y NetBSD

Y, antes de iniciar este artículo sobre los contabilizados «lanzamientos de octubre de 2026», les recomendamos explorar una anterior publicación relacionada, al finalizar de leer está presente de hoy:

Los lanzamientos aquí citados, son mayoritariamente los registrados en DistroWatch. Por ello, siempre pueden haber muchos más, provenientes de webs como OS.Watch y FOSS Torrent. Además, es importante tener en cuenta que, estas nuevas versiones en cualquier momento, podrían estar disponibles para ser probadas en línea (sin instalar) por cualquiera, en la web de DistroSea, para el conocimiento y prueba de todos.

Todos los lanzamientos de Distros *Linux / *BDS en el Linuxverso

Todos los lanzamientos de octubre 2026 en el Linuxverso

Nuevas versiones de Distros durante los lanzamientos de octubre 2026

Primeros 3 lanzamientos del mes

OpenMandriva Lx 26.09 "ROME"

OpenMandriva Lx 26.09 «ROME»
  • Fecha de liberación: 01/10/2026.
  • Sitio web oficial: Explorar aquí.
  • Repositorio oficial: GitHub.
  • Anuncio oficial: Enlace de consulta.
  • Enlaces de descarga: OpenMandriva Lx 26.09 «ROME».
  • Base de la Distro: Independiente.
  • País de origen: Francia.
  • Novedades destacadas: Está novedosa versión liberada en octubre de 2026, denominada como “26.09 «ROME»” y perteneciente al proyecto de generación de Distribuciones libres y abiertas, llamado “OpenMandriva Lx”, ahora incluye, entre muchas novedades destacadas, algunas como la añadidura de la biblioteca glibc con mejoras (soporte para malloc) relacionadas con implementaciones intercambiables que buscan aportar a la Distro hasta un 20 % más de rendimiento. Tambien incluye a una actualización a nivel del compilador predeterminado (LLVM/Clang 23), la cual ofrece, entre otras cosas, una generación de código mejorada. Además, incorpora la corrección de un error que provocaba un conflicto entre compiler-rty libgcc_s, lo que podía generar fallos inesperados en algunas aplicaciones. Y GCC se ha actualizado a la versión 16.2.0. Por último, entre algunas otras más, destaca que ahora el sistema incorpora la solución a un problema que provocaba que algunas aplicaciones AppImage fallaran al iniciarse, ofrece una actualización del gestor de paquetes predeterminado (RPM 6.1.0), y actualizaciones varias importantes (bibliotecas Qt6 6.11.2, Qt5 5.15.19, GTK4 4.22.5 y GTK3 3.24.52).

Nitrux 7.0.0

Nitrux 7.0.0
  • Fecha de liberación: 01/10/2026.
  • Sitio web oficial: Explorar aquí.
  • Repositorio oficial: GitHub.
  • Anuncio oficial: Enlace de consulta.
  • Enlaces de descarga: Nitrux 7.0.0.
  • Base de la Distro: Devuan.
  • País de origen: México.
  • Novedades destacadas: Está novedosa versión liberada en octubre de 2026, denominada como “7.0.0” y perteneciente al proyecto de generación de Distribuciones libres y abiertas, llamado “Nitrux”, ahora incluye, entre muchas novedades destacadas, algunas como la introducción de una renovación visual y arquitectónica basada en una convicción: la cohesión no requiere un monolito. Además, ahora ofrece un Kernel Linux con parches de CachyOS (aplicados por Nitrux) empaquetado bajo el número de versión 7.2.6, Hyprland en la versión 0.55.4, todas las utilidades de Hypr incluidas de forma actualizadas, un módulo actualizado (615.71.09) dentro del Kernel para NVIDIA, un tema de iconos Lüv actualizado (0.8.9) y la añadidura de  compatibilidad con colores adaptativos en los iconos de las carpetas, más KDE Frameworks 6.26.0. Por último, entre algunas otras más, destaca que ahora el sistema ofrece una actualización de las herramientas Nitrux a la versión 3.0.3, lo cual incluye cosas como: El rediseño de la interfaz del actualizador con tarjetas al estilo MauiKit para mostrar el estado del sistema, la disponibilidad de actualizaciones y el progreso de la operación, el perfeccionamiento de los estados de actualización, la presentación del progreso y los controles de la barra de herramientas, y se ha eliminado el botón de actualización redundante, la añadidura de información sobre la rama y la confirmación al cuadro de diálogo «Acerca de», la corrección de un error de compilación asociado, y la actualización del icono de la aplicación y el acceso directo en el escritorio.

umbrelOS 2.0.0

umbrelOS 2.0.0
  • Fecha de liberación: 02/10/2026.
  • Sitio web oficial: Explorar aquí.
  • Repositorio oficial: GitHub.
  • Anuncio oficial: Enlace de consulta.
  • Enlaces de descarga: umbrelOS 2.0.0.
  • Base de la Distro: Debian (Estable).
  • País de origen: Estados Unidos.
  • Novedades destacadas: Está novedosa versión liberada en octubre de 2026, denominada como “2.0.0” y perteneciente al proyecto de generación de Distribuciones libres y abiertas, llamado “umbrelOS”, ahora incluye, entre muchas novedades destacadas, algunas como una nueva aplicación de Fotos, aplicaciones de Umbrel para iPhone y Mac, Máquinas virtuales para ejecutar Windows, Ubuntu y Android dentro de Umbrel, múltiples cuentas de usuario, un servidor MCP para agentes de IA, un nuevo Administrador de almacenamiento con FailSafe (RAID), descargas desde almacenamiento en la nube, ajustes rediseñados, Archivos más rápidos, búsqueda CMD/Ctrl-K rediseñada, HTTPS automático y cientos de mejoras menores y correcciones de errores. Por último, y para más detalle, destaca que ahora el sistema es capaz de detectar automáticamente las GPU de NVIDIA, AMD e Intel, incluidas las eGPU Thunderbolt, y transferir su utilización a aplicaciones como Ollama y Jellyfin. Además, la actividad de la GPU y la VRAM se muestra en uso en tiempo real. Y una Nueva App Store que ofrece una nueva experiencia de descubrimiento por categorías, colecciones destacadas, búsqueda, clasificación, una sección de actualizaciones, comprobaciones de compatibilidad e historial de versiones. 

Lanzamientos del mes conocidos en “DistroWatch”, “OS Watch”, “FOSSTorrent” y más

  1. Sculpt 26-10: 30 de octubre.
  2. Tails 7.16: 30 de octubre.
  3. Proton 2026.11.01: 29 de octubre.
  4. CarotOS 1.3: 29 de octubre.
  5. Gnoppix Linux 26_11: 29 de octubre.
  6. Manjaro 26.1.3: 28 de octubre.
  7. SweetPotatOs 2026.11: 28 de octubre.
  8. LastOSLinux 2026-10-28: 28 de octubre.
  9. Lyra 16.1-rc2: : 28 de octubre.
  10. Equestria 2026.10.28: 28 de octubre.
  11. GhostBSD 26.2: 28 de octubre.
  12. Omarchy 4.5.0-rc2: 28 de octubre.
  13. Gnomarchy 2026.10.27: 27 de octubre.
  14. RELIANOID 9.0.0: 27 de octubre.
  15. Talos 1.15.0-alpha2: 27 de octubre.
  16. Slimbook OS 26-r5: 27 de octubre.
  17. Tribblix 0m41.1: 27 de octubre.
  18. HAOS 18.4: 27 de octubre.
  19. RefreshOS 3.1: 27 de octubre.
  20. ZelixOS 2026.10.26: 26 de octubre.
  21. AUSTRUMI 5.2.9: 26 de octubre.
  22. Coyote 4.0.198: 26 de octubre.
  23. Kali 2026.3: 26 de octubre.
  24. Maze 2026.10.26: 25 de octubre.
  25. AnduinOS 2.0.5: 25 de octubre.
  26. Ezarcher 2611-beta: 25 de octubre.
  27. AstrOS 20261015: 25 de octubre.
  28. MagOS 2025_20261023: 25 de octubre.
  29. UBports 24.04-2.2 y 24.04-1.6: 25 de octubre.
  30. DietPi 10.8: 24 de octubre.
  31. ArchEZ 2026.10.24: 24 de octubre.
  32. openmamba 20261024: 24 de octubre.
  33. Voyager 26.04.1: 24 de octubre.
  34. Quirinux 2.3: 24 de octubre.
  35. HAOS 18.4-rc2: 23 de octubre.
  36. Flatcar 4757.2.2: 23 de octubre.
  37. Lyra 16.1-rc1: 23 de octubre.
  38. T4n OS 20261023: 23 de octubre.
  39. Deblinux 6.3: 23 de octubre.
  40. KDE neon 20261018: 23 de octubre.
  41. FLinux 17.2: 23 de octubre.
  42. Essora Eos 20261021: 22 de octubre.
  43. Unraid 7.3.4: 22 de octubre.
  44. NagisinnraLinux 1.0.9: 22 de octubre.
  45. Alpine 3.24.3: 22 de octubre.
  46. Canaima 9.0-beta: 22 de octubre.
  47. Lightwhale 3.0.6: 22 de octubre.
  48. Maple 1.4.7: 21 de octubre.
  49. Argent 1.5.4: 21 de octubre.
  50. Essora 20261021: 21 de octubre.
  51. siduction 2026.1.0: 21 de octubre.
  52. OmegaLinux 2026.10.20: 20 de octubre.
  53. Kiro 26.10.20: 20 de octubre.
  54. NebiOS 10.3-rc2: 20 de octubre.
  55. HAOS 18.4-rc1: 20 de octubre.
  56. CatOS 2026.10.09: 20 de octubre.
  57. Omarchy 4.5.0-rc1: 20 de octubre.
  58. BlueOnyx 5212r-20261019: 20 de octubre.
  59. OpenBSD 8.0: 20 de octubre.
  60. TUXEDO 20261019: 19 de octubre.
  61. MocaccinoOS 26.10: 19 de octubre.
  62. Refracta 13.5: 18 de octubre.
  63. ArchBANG 181026: 18 de octubre.
  64. Cerberix 0.1.3: 18 de octubre.
  65. CobaltX 0.3: 18 de octubre.
  66. Skorpion 3.5: 18 de octubre.
  67. MuliOS 26.07.03S: 17 de octubre.
  68. Synex 26.10.17: 17 de octubre.
  69. AOSC 20261017: 17 de octubre.
  70. FunOS 26.10: 17 de octubre.
  71. Vuu-do 20261015: 17 de octubre.
  72. Asmi 26.10: 16 de octubre.
  73. NebiOS 10.3-rc1: 16 de octubre.
  74. Voyager 26.10: 16 de octubre.
  75. Ubuntu Unity 26.10: 16 de octubre.
  76. Xubuntu 26.10: 15 de octubre.
  77. Ubuntu Studio 26.10: 15 de octubre.
  78. Ubuntu MATE 26.10: 15 de octubre.
  79. Ubuntu Kylin 26.10: 15 de octubre.
  80. Ubuntu Cinnamon 26.10: 15 de octubre.
  81. Ubuntu Budgie 26.10: 15 de octubre.
  82. Lubuntu 26.10: 15 de octubre.
  83. Kubuntu 26.10: 15 de octubre.
  84. Edubuntu 26.10: 15 de octubre.
  85. Ubuntu 26.10: 15 de octubre.
  86. ZimaOS 1.8.0: 15 de octubre.
  87. FUSS 13.7.0: 15 de octubre.
  88. MODICIA 6.12.111: 14 de octubre.
  89. IPFire 2.29-core204: 14 de octubre.
  90. Blunux 2026.10.14: 14 de octubre.
  91. Tails 7.15: 13 de octubre.
  92. Talos 1.15.0-alpha1: 13 de octubre.
  93. MidnightBSD 4.0.8: 13 de octubre.
  94. ChurrOS 1.3: 13 de octubre.
  95. Ultimate 2026.10.12: 12 de octubre.
  96. OSINT VM 2026.10: 12 de octubre.
  97. ShredOS 2025.11_32: 12 de octubre.
  98. extrox 20261011: 11 de octubre.
  99. Infinity 2026.10.2: 10 de octubre.
  100. SmartOS 20261009: 9 de octubre.
  101. ZEPHIX 9: 9 de octubre.
  102. Valtux 1.3: 9 de octubre.
  103. Noid 20261009: 9 de octubre.
  104. Ventoy 1.1.18: 9 de octubre.
  105. GNUSlashLinux 20261008: 8 de octubre.
  106. Q4OS 6.10: 8 de octubre.
  107. ToaruOS 3.0.0-alpha1: 8 de octubre.
  108. Rocky 10.3-beta: 7 de octubre.
  109. RakuOS 2026.10.07: 7 de octubre.
  110. LazyLinux 20261007: 7 de octubre.
  111. EasyOS 7.4.11: 7 de octubre.
  112. PCLinuxOS 2026.10: 7 de octubre.
  113. TrueNAS 27.0.0-RC1: 6 de octubre.
  114. CentOS 10-20261006.0: 6 de octubre.
  115. ZimaOS 1.8.0-beta2: 6 de octubre.
  116. RasPiOS 2026-10-06: 6 de octubre.
  117. Oreon 10-2610: 6 de octubre.
  118. d77void 20261005: 5 de octubre.
  119. StartOS 0.4.0.2: 5 de octubre.
  120. EnigmarsOS 2026.10.05: 5 de octubre.
  121. Obarun 2026.10.05: 5 de octubre.
  122. Helwan 5.1: 5 de octubre.
  123. FunOS 26.10-beta: 5 de octubre.
  124. StormOS 2026.10: 5 de octubre.
  125. Berserk Arch 2026.10.05: 5 de octubre.
  126. Winux 11.26.10: 4 de octubre.
  127. Margine 20261004: 4 de octubre.
  128. VasakOS 2026.10.04: 4 de octubre.
  129. ML4W 2.16.1: 4 de octubre.
  130. Besgnulinux 1.0 «Openbox«: 4 de octubre.
  131. ShrikeLinux 2026.10.04: 4 de octubre.
  132. LCOS 0.8: 4 de octubre.
  133. BigLinux 2026-10-03: 4 de octubre.
  134. Calculate 20261003: 3 de octubre.
  135. AnduinOS 2.0.4: 3 de octubre.
  136. Exton 261003 «ArchEX»: 3 de octubre.
  137. Puppy 2026-261003: 3 de octubre.
  138. Parrot 7.4: 3 de octubre.
  139. Abora 2026.10.03: 3 de octubre.
  140. Vendefoul 20261003: 3 de octubre.
  141. Voyager 26.10-beta: 3 de octubre.
  142. umbrelOS 2.0.0: 2 de octubre.
  143. VailuxOS 1.6.1.4: 2 de octubre.
  144. XBian 2026.10.02: 2 de octubre.
  145. Qubes 4.3.2: 2 de octubre.
  146. Linux Q83 13.17: 2 de octubre.
  147. Ezarcher 2610-1: 2 de octubre.
  148. HardenedBSD 15-build-21: 2 de octubre.
  149. Synex 13-u13: 2 de octubre.
  150. Spaced 10.26: 2 de octubre.
  151. Quarkos 26.04-r3: 2 de octubre.
  152. XIVA Studio 2026-10-02: 2 de octubre.
  153. LinuxHub 2026.10.01: 2 de octubre.
  154. Koozali 11.0: 2 de octubre.
  155. SolydXK 13-202610: 2 de octubre.
  156. Expirion 6.7-261002: 2 de octubre.
  157. Archman 20261001: 2 de octubre.
  158. Arch 2026.10.01: 2 de octubre.
  159. CalamaroOS 20261001: 2 de octubre.
  160. Mainstream 3.0.0: 2 de octubre.
  161. Calam 2026-10: 2 de octubre.
  162. AbeirOS 20261001: 2 de octubre.
  163. AfagOS 20261001: 1 de octubre.
  164. Xubuntu 26.10-beta: 1 de octubre.
  165. Ubuntu Unity 26.10-beta: 1 de octubre.
  166. Ubuntu Studio 26.10-beta: 1 de octubre.
  167. Ubuntu MATE 26.10-beta: 1 de octubre.
  168. Ubuntu Kylin 26.10-beta: 1 de octubre.
  169. Ubuntu Cinnamon 26.10-beta: 1 de octubre.
  170. Ubuntu Budgie 26.10-beta: 1 de octubre.
  171. Lubuntu 26.10-beta: 1 de octubre.
  172. Kubuntu 26.10-beta: 1 de octubre.
  173. Edubuntu 26.10-beta: 1 de octubre.
  174. Ubuntu 26.10-beta: 1 de octubre.
  175. AgarimOS 20261001: 1 de octubre.
  176. Lilidog 26.10.01: 1 de octubre.
  177. Soplos 2026.10: 1 de octubre.
  178. Fluff 2026.10.01: 1 de octubre.
  179. FlickOS 2.1: 1 de octubre.
  180. KDE Linux 20261001: 1 de octubre.
  181. Nitrux 7.0.0: 1 de octubre.
  182. Dr.Parted 26.10: 1 de octubre.
  183. blendOS 2026.10.01: 1 de octubre.
  184. butrelinux 20261001: 1 de octubre.
  185. Shadowfetch 5.0.0: 1 de octubre.

Y para profundizar más información sobre cada uno de estos lanzamientos y otros más, se encuentra disponible el siguiente enlace.

Banner de resumen para post

Resumen

En resumen, si te ha gustado esta publicación sobre todos los «lanzamientos de octubre de 2026» registrados por el sitio web de “DistroWatch”, y otros como “OS Watch” y “FOSS Torrent”, coméntanos tus impresiones. Y si conoces otro lanzamiento de alguna otra Distro GNU/Linux o Respin Linuxero del Linuxverso, también será un placer conocerlo a través de los comentarios, para el conocimiento y utilidad de todos. Tal como hoy hemos hecho, al destacar algunos detalles importantes de los lanzamientos de OpenMandriva Lx 26.09 «ROME», Nitrux 7.0.0 y umbrelOS 2.0.0.

Por último, recuerda compartir con otros esta divertida e interesante publicación, además de visitar el inicio de nuestro «sitio web» en español. O, en cualquier otro idioma (con solo agregar al final de nuestra URL actual, 2 letras al final, por ejemplo: ar, de, en, fr, ja, pt y ru, entre muchas otras) para conocer más contenidos actuales.


Qué es PHP y por qué generó tanta preocupación encontrar vulnerabilidades

La importancia del lenguaje PHP

En el artículo anterior hablamos de las lecciones para el código abierto que podíamos extraer de un grave problema de seguridad informática ocurrido la semana pasada. En este hablaremos sobre qué es PHP y por qué generó tanta preocupación que se encontraran vulnerabilidades.

La seguridad informática tiene dos grandes problemas. Es cara y, en muchos casos, es engorrosa. Lamentablemente, las consecuencias de no implementarla solo se ven cuando ya es tarde. Por eso es importatne entender las tecnologías que usamos.

Qué es PHP y por qué generó tanta preocupación encontrar vulnerabilidades

Para entender el problema, primero tenemos que entender qué es PHP y por qué es tan usado en proyectos de Internet.

PHP es un lenguaje de programación de código abierto del lado del servidor. Esto significa que se usa para crear aplicaciones que se ejecutan en una computadora remota y no en el dispositivo con el cual el cliente se conecta al sitio web. Su nombre sigue la afición de los programadores por los acrónimos recursivos, ya que significa (traducido a nuestro idioma) PHP es un Preprocesador de Hipertexto.

Creado en 1994, fue usado en los primeros tiempos de Facebook y actualmente lo utilizan el 75 % de los sitios web de Internet de los que es posible conseguir estadísticas, entre los que podemos mencionar a Wikipedia y a sistemas de gestión de contenidos (CMS) como WordPress (el que usa este blog), Joomla, osCommerce o Drupal. También lo utilizan plataformas de trabajo colaborativo como Slack y Nextcloud.

Características

  • Trabaja del lado del servidor (Server-Side): El código PHP se ejecuta en el servidor. El usuario solo recibe el resultado, generalmente en formato HTML.
  • Es un lenguaje interpretado: No necesita ser compilado a un lenguaje máquina antes de ejecutarse.
  • Es multiplataforma: Funciona en casi cualquier sistema operativo (Linux, Windows, macOS) y es compatible con la mayoría de los servidores web, tanto de código abierto como privativos.
  • Es multiparadigma: Aunque lleva más de 30 años entre nosotros, es compatible con los paradigmas de programación más modernos.
  • Permite la conexión a bases de datos: Es ideal para conectarse con bases de datos relacionales de uso extendido como MySQL, PostgreSQL o MariaDB.

¿Qué hacen las aplicaciones del lado del servidor?

Las aplicaciones del lado del servidor se usan para realizar tareas críticas que, por razones de seguridad o capacidad de procesamiento, no pueden realizarse en el navegador. Entre ellas:

  • Autenticación y seguridad: Comprueban si la contraseña ingresada por el usuario es correcta, abren y cierran las sesiones de los usuarios y protegen datos sensibles.
  • Conexión con las bases de datos: Para evitar la manipulación de información sensible, la escritura, lectura, eliminación y actualización de bases de datos solo pueden realizarse del lado del servidor. PHP tiene bibliotecas ideales para hacerlo.
  • Toma de decisiones en función de los datos ingresados por el usuario: Si, por ejemplo, la fecha de nacimiento del usuario determina que es menor de edad, no se le permite el acceso al sitio.
  • Interacción con otros servicios: Mediante el uso de interfaces de programación de aplicaciones (API), puede conectarse con servicios externos que requieren una forma de validación. Por ejemplo, plataformas de pago como PayPal o Stripe.
  • Generación de contenidos en tiempo real: Permite actualizar el contenido de las páginas al instante. Por ejemplo, cuando presione el botón de publicar para este artículo, la página principal lo colocará en primer lugar hasta que un compañero haga lo mismo con el suyo.

Cómo funciona la arquitectura cliente-servidor

Infografía sobre cómo funciona la arquitectura cliente-servidor en un carrito de compras

Esquema del funcionamiento de un carrito de compras usando PHP

La arquitectura cliente-servidor funciona con un grupo de herramientas conocidas por el acrónimo xAMPP. La X indica el sistema operativo, la A corresponde a Apache, el servidor más utilizado, aunque pueden usarse otros; la M indica la base de datos (MySQL o su fork MariaDB son los más usados), y la P corresponde a PHP.

Veamos cómo sería el proceso de compra en una típica tienda:

Paso 1: Conexión con el servidor

El usuario pone en su navegador (el cliente) la dirección web de la tienda. El navegador envía una petición HTTP solicitando el acceso a la página carrito.php.

Paso 2: El servidor recibe la petición

Cuando el servidor web recibe la petición, comprueba que corresponde a un archivo con extensión .php y la redirige al motor PHP.

Paso 3: El motor de PHP procesa la petición

El motor PHP lee el archivo línea por línea e ignora todo lo que no sea código PHP. Siguiendo las instrucciones del código, realiza tareas como:

  • Conectarse a la base de datos para ver los productos que el cliente tiene en el carrito.
  • Verificar si el usuario inició sesión, calcular el total de la compra, aplicar descuentos y sumar los gastos de envío.
  • Generar la salida: tomar los datos de la base de datos y del procesamiento e incorporarlos a una plantilla HTML.

Paso 4: El servidor pasa el resultado al navegador

El servidor toma el código HTML y CSS generado por el motor PHP y se lo envía al navegador.

Paso 5: De nuevo al punto de partida

El navegador recibe el código HTML y lo renderiza. El usuario solo ve el carrito y el resultado del procesamiento.

Aunque el ejemplo corresponde a una tienda de aplicaciones, esta arquitectura es válida para cualquier tipo de servicio web que requiera interacción entre usuarios y un servidor externo.

¿Es PHP un lenguaje obsoleto?

En programación, como en tantas otras actividades, hay fanáticos y detractores. Aunque, como explicamos en el artículo anterior, todos los lenguajes de programación son susceptibles de tener vulnerabilidades, los enemigos de PHP se apresuraron a calificarlo de obsoleto. La realidad es que se trata de un lenguaje con ventajas y desventajas, pero sigue siendo muy útil.

Entre las ventajas:

  • Fácil de aprender: Tiene una documentación gratuita y fácil de entender.
  • Ideal para vibe coding: Al ser un lenguaje que lleva mucho tiempo entre nosotros, la mayoría de los modelos están entrenados en su uso.
  • Costos: La mayoría de los alojamientos web de bajo costo incluyen soporte para PHP y bases de datos MySQL.
  • Una gran comunidad de usuarios y desarrolladores: Como se demostró la semana pasada, las soluciones a las vulnerabilidades estuvieron disponibles enseguida. Y si encuentras un problema, seguramente alguien ya lo solucionó.
  • Rendimiento: Las nuevas versiones mejoraron drásticamente su rendimiento y el manejo de la memoria.

Entre las desventajas:

  • No sirve para crear aplicaciones nativas: Al requerir el uso de un servidor, consume demasiados recursos de un equipo de escritorio.
  • No sirve para aplicaciones en tiempo real: Por más rápidas que sean las versiones, sigue necesitando un tiempo de procesamiento que lo hace poco útil para crear, por ejemplo, un cliente de mensajería automática.