KS7000 es un proyecto reconvertido al software libre en el año 2014. Antes era software privativo (y no tenemos nada en contra de este paradigma, este mundo es muy grande y cabemos todos) pero la masificación de sistemas de 64 bits obligó a replantearlo desde sus cimientos.
En este artículo conocerá un breve resumen de nuestra historia e informa de nuestra orientación para esta década 2020-2029.
Esta semana ha sido de las que se recuerdan. Jornadas de 12 y 14 horas, noches de dormir poco, el móvil vibrando a horas en las que solo deberían vibrar las alarmas de incendio. Y, aunque te parezca raro, la he disfrutado. He disfrutado de lo que sé, de lo que hago y, sobre todo, de lo que mi equipo es capaz de hacer cuando todo arde a la vez.
En mayo, con Copy Fail, te escribí que aquello era el ensayo general. Que la próxima vez serían dos, luego cinco, y que algún día llegaría uno remoto, sin cuenta local, en un servicio expuesto en Internet en todas partes. Pues ya está aquí y se llama PHP2Shell.
Dos vulnerabilidades en el motor de PHP, CVE-2026-109618 y CVE-2026-109619, las dos con un 9.2 en CVSS v4, las dos de ejecución remota de código sin autenticar. La pincelada técnica para quien la quiera: una juega con cómo PHP gestiona un error de memoria agotada cuando la petición está a medio inicializar, la otra con estado interno que sobrevive a la memoria que lo sostenía. Para quien no, el resumen: mandas una petición y el servidor es tuyo. Es difícil de explotar (al menos por ahora), pero… Y PHP está en todas partes, en tantas que muchas empresas ni saben dónde.
Las encontraron Wiz y Calif, esta última dentro del proyecto Patch The Planet de OpenAI. Con ayuda de IA, otra vez. Wiz las reportó en agosto y el plan era una divulgación coordinada de manual. El plan duró lo que duran los planes en un mundo de egos y movidas: NADA. El 20 de octubre se filtró su existencia, PHP tuvo que anunciar un parche de emergencia y nos tocó pasar unas 18 horas sabiendo que había algo gordo, sin detalles y sin parche. Diversión con banderas.
Y lo mejor: los honeypots de Amazon ya habían visto un intento de explotación el 17 de octubre, cuatro días antes de que existiera el parche. Kevin Beaumont lo resumió diciendo que es de lo más gordo en años. El jueves por la noche, según el tracker de Infrawatch, se parcheaban unas 7.000 instancias por hora. Siete mil por hora. Piensa en cuántas quedaban…
A nosotros nos tocó lidiar con todo esto, con servidores EOL, con movidas legacy, con compilaciones… pero el miércoles por la noche teníamos todo parcheado y funcionando. Sin downtime.
Y el jueves, con el café del parche todavía caliente, Jason Clinton, Deputy CISO de Anthropic, soltó un tuit de esos que se leen dos veces. Vino a decir que lo de estos cuatro días va a ir a mucho peor antes de mejorar, y pidió a los responsables de seguridad que fueran a sus consejos de dirección a pedir ayuda. «No para IA, para lo básico». Y entre paréntesis, como quien no quiere la cosa: hay que aguantar unos 18 meses.
No era la primera vez. En agosto ya había avisado de un tsunami de vulnerabilidades para el que no habría tiempo de parchear infraestructura crítica, y recomendaba aislar redes.
🧐 – “¿Y por qué 18 meses? ¿Qué pasa en 18 meses?”
👻 – “Él lo llama vulnzero. Lo que hoy hace un modelo como Mythos acabará en modelos pequeños y baratos, todo el que programe los meterá en su pipeline por céntimos y dejaremos de publicar bugs.”
Bonito. Ojalá. Pero vamos por partes.
Primero, esto es una opinión de parte. Quien vende la cura es el mismo que anuncia la enfermedad, y conviene tenerlo presente. A Clinton le contestó alguien acusando a los laboratorios de haber creado el monstruo y pedir ahora ayuda para limpiarlo, y él respondió, sin pestañear, que siempre iba a ser así y que intentaron avisar al mundo. Puedes leerlo como arrogancia o como honestidad brutal, yo creo que es un poco de las dos.
Segundo, en el diagnóstico no se equivoca. El programa de bug bounty de WordPress en HackerOne recibió durante una década entre 20 y 30 reportes al mes. En agosto de 2026 fueron 773. De 30 a 773. Eso no es una tendencia, es un cambio de régimen. Y el arma corta por los dos lados: OpenAI presume de que su modelo ayudó a encontrar una de las de PHP, y esa misma capacidad acelera escribir el exploit.
Tercero, y aquí es donde me duele: los 18 meses no los aguanta un modelo, los aguantan personas.
En la mayoría de equipos que conozco, el trabajo ya era inabarcable antes de todo esto. Pocos recursos, demasiados frentes y el desgaste mental de vivir con un CVE crítico cada semana. En los SOC la rotación por agotamiento supera el 25% anual en muchos casos, y sustituir a un analista cuesta de seis a doce meses. En una ciudad pequeña como la mía, bastante más. No se puede contratar para salir de esto, no hay gente y no hay dinero suficiente en la alcancía.
Y el cansancio no es solo un problema de recursos humanos, es un problema de seguridad. Un técnico reventado toma atajos: silencia alertas en bloque, mira solo lo que la herramienta marca en rojo, se fía del CVSS y no de lo que se está explotando de verdad. Cada atajo es un punto ciego y los puntos ciegos, en 2026, se encuentran en una hora. O en 10 minutos. Depende de los tokens que quieras gastar.
Una semana de 14 horas se disfruta. Te sube la adrenalina, te sientes útil, el equipo hace piña, acabas las tardes con música china de fondo y un gatito de estos moviendo el brazo, «The chinese factory» lo llamábamos esta semana… Dieciocho meses de semanas así te queman, a ti y a los tuyos. El sprint no puede ser el plan.
Esta semana he llegado a una conclusión que no es nueva, pero que ahora tengo clarísima: la única manera seria, y humana, de abordar esto es con un equipo bien entrenado y muchas automatizaciones e IA. Tomás Ledo me lo dijo con una frase que me voy a tatuar: “los agentes son el nuevo Ansible”.
Y tiene razón, aunque en septiembre te dijera que un agente no es Ansible con un chatbot delante. Las dos cosas son verdad. Ansible fue lo que permitió que un equipo pequeño gestionara cientos de servidores sin morir en el intento. Los agentes son ese mismo salto, ahora. La diferencia es que el playbook ejecuta lo que le dices y el agente decide qué ejecutar, y por eso hay que atarlo más corto.
Pero hay algo que Ansible nos enseñó y que con los agentes se olvida: Ansible solo funciona si sabes qué tienes. Sin inventario no hay playbook que valga. PHP2Shell lo ha dejado clarísimo: quien no sabía dónde corría PHP, incluido dentro de appliances y software de terceros, ha tenido que hacer el inventario a la vez que parcheaba. Con agentes pasa igual: sin saber qué tienes y dónde, solo automatizas el caos más rápido.
Así que cuando Clinton, el de Anthropic, dice “lo básico”, yo lo traduzco así:
Inventario vivo, no una hoja de cálculo de hace seis meses.
Exposición mínima: lo que no tiene que estar en Internet, fuera, y lo crítico, aislado.
Parcheo automatizado y probado, que se despliegue en horas y no en semanas.
Mitigaciones de transición, porque habrá más días como el 20 de octubre, con el problema publicado y sin parche.
Agentes haciendo el triaje y priorizando por explotación real.
Y lo que nadie pone en las diapositivas: turnos, guardias rotativas y descanso. Un técnico agotado es una vulnerabilidad más, y de las que no se arreglan con un apt upgrade.
¿Aguantaremos 18 meses? No lo sé. Quizá sean 18, quizá 36, quizá Clinton se equivoque y esto no se arregle nunca…
Lo que sí sé es que esta semana ha marcado un punto de no retorno: ya no se trata de trabajar más, sino de trabajar distinto. Sigo disfrutando de este oficio como el primer día y quiero seguir disfrutándolo dentro de 18 meses.
Pues esencialmente es eso: Dejan de ser obligatorias las máquinas fiscales en comercios y/o empresas de venta masiva (farmacias, panaderías, gimnasios, etcétera), esto son los incluidos en la Providencia SNAT/2018/0141 . En este mismo anuncio hacen del conocimiento de la reducción de 144 mil «contribuyentes especiales» a 30 mil mediante la «técnica estadística» (léase cruzar la información de los bancos privados, Banco Central de Venezuela, SAREM y SAIME para conocer el ingreso de todos y cada una de las personas jurídicas y personas naturales).
Con esto de la vulnerabilidad crítica PHP2SHELL me percaté que el repositorio personal del señor Ondrej pues que ya se dejó de utilizar en Ubuntu 26 así que hay que retirarlo y agregar el nuevo repositorio, dejo las instrucciones para mi recordatorio (y si le es de utilidad a alguien más):
Muchas veces necesitamos nuestro propio archivo o carpeta temporal ya sea para evitar embasurar nuestro directorio de usuario o simplemente para extraer unos ficheros comprimidos y examinarlos o, mejor aún, instalar nuestras propias aplicaciones (nuestros instaladores). Para ello el comando adecuado es mktemp.
Esto es sencillo: Conviene ofrecer siempre la mínima información necesaria e incluso hay quienes la cambian a propósito (si usan Nginx pues declaran que usan Apache).
El procedimiento es fácil, editar sudo nano /etc/apache2/conf-available/security.conf .
Dentro de dicho fichero buscar (o agregar):
ServerTokens Prod .
ServerSignature Off .
El archivo está profusamente «documentado» con líneas de comentarios, obvio que en idioma inglés siempre.
Por último reiniciar Apache2: sudo systemctl restart apache2 .
Seguridad: Con HTTP/2 los encabezados dejan de viajar en texto plano y van en lenguaje de máquina, lo cual dificulta aún más su intercepción e inspección por parte de terceros.
Utilidad: Con HTTP/2, si el navegante de nuestra página web lo permite, podremos enviarle notificaciones de nuestra parte (push) lo cual abre la posibilidad de nuevas comodidades en nuestras tareas de programación.