
este es un repositorio que enfrenta un problema de escalación en su sistema Linux y una noticia sobre el problema de 'Dirty pipeline'
Max Kellermann, desarrollador de CM4all (una empresa alemana de hosting web), lo encontró a principios de 2022, pero no buscando vulnerabilidades. Estaba depurando cuando supo que el cliente estaba insatisfecho porque los registros de su servidor se corrompían espontáneamente. Kellermann pasó meses rastreándolo. Su trabajo eventualmente lo llevó a una condición profunda en la forma en que el kernel de Linux maneja los pipes y la caché de páginas. Se dio cuenta de que el error que encontró para explicar la corrupción de registros era en realidad algo mucho más serio: una vulnerabilidad completa de escalación de privilegios (Una vulnerabilidad completa de escalación de privilegios es una falla de seguridad crítica que permite a un atacante con acceso de bajo nivel —como un usuario estándar, invitado o aplicación no privilegiada— obtener control administrativo, de superusuario o de nivel root sobre un sistema. Esto significa que el atacante evade todos los límites de seguridad previstos, otorgándole control completo para modificar archivos del sistema, instalar software, robar datos o eliminar archivos) . Él la divulgó responsablemente al equipo del kernel de Linux y al propio Linus Torvalds. Fue parcheada en cuestión de días. El problema real es: cuando splice() transfería datos a un pipe, se olvidaba de limpiar esta bandera en el búfer de destino. Entonces la página resultante de splice (que apunta directamente a la caché de páginas de solo lectura de un archivo) todavía tenía CAN_MERGE establecido. Ahora, si escribes en ese pipe, el kernel ve CAN_MERGE, asume que la página es escribible y fusiona tus datos directamente en la caché de páginas — que es el contenido del archivo en memoria — sin ninguna comprobación de permisos. Resultado: puedes sobrescribir el contenido de cualquier archivo que puedas leer, incluidos binarios SUID (set user ID) de root como su, passwd, sudo. ¿Por qué el error era tan importante? Algunas razones: