CVE-2026-43389 in Linux
Resumen
por VulDB • 2026-05-09
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
mm: memfd_luo: marcar siempre como sucios (dirty) todos los folios
Un folio sucio es aquel al que se ha escrito. Un folio limpio es lo contrario. Dado que un folio limpio no contiene datos de usuario, puede ser liberado bajo presión de memoria.
La preservación de memfd con LUO guarda la bandera en preserve(). Esto es problemático. El folio podría volverse sucio más tarde. Guardarlo en freeze() tampoco funciona, ya que el bit sucio de PTE normalmente se sincroniza en unmap y aún podrían existir mapeos del archivo en freeze().
Para ver por qué esto es un problema, supongamos que un folio está limpio en preserve, pero se vuelve sucio más tarde. El estado serializado del folio lo marcará como limpio. Después de retrieve, el siguiente kernel verá el folio como limpio y podría intentar reclamarlo bajo presión de memoria. Esto resultará en la pérdida de datos de usuario.
Marcar todos los folios del archivo como sucios y establecer siempre la bandera MEMFD_LUO_FOLIO_DIRTY. Esto tiene el efecto secundario de hacer que todos los folios limpios no sean reclamables. Este es un coste que deben asumir los participantes de la actualización en vivo. De todos modos, no se espera que sea un caso de uso común preservar muchos folios limpios.
Dado que el valor de pfolio->flags es ahora una constante, eliminar la variable flags y establecerla directamente.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.