Linux Kernel hasta 6.11.9 move_page_tables orig_old_start escalada de privilegios

| CVSS Puntuación meta temporal | Precio actual del exploit (≈) | Puntuación de interés CTI |
|---|---|---|
| 5.4 | $0-$5k | 0.00 |
Resumen
Una vulnerabilidad ha sido encontrada en Linux Kernel hasta 6.11.9 y clasificada como problemática. Está afectada una función desconocida. El manejo del argumento orig_old_start da lugar a escalada de privilegios. La vulnerabilidad es identificada como CVE-2024-53111. No hay ningún exploit disponible. El mejor modo sugerido para mitigar el problema es actualizar a la última versión.
Detalles
Una vulnerabilidad fue encontrada en Linux Kernel hasta 6.11.9 y clasificada como problemática. La función move_page_tables es afectada por esta vulnerabilidad. A través de la manipulación del parámetro orig_old_start de un input desconocido se causa una vulnerabilidad de clase escalada de privilegios. Los efectos exactos de un ataque exitoso no son conocidos. El resumen de CVE es:
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mm/mremap: se corrige el envoltorio de direcciones en move_page_tables() En plataformas de 32 bits, es posible que la expresión `len + old_addr < old_end` sea un falso positivo si `len + old_addr` realiza un envoltorio. `old_addr` es el cursor en el rango antiguo hasta el cual se han movido las entradas de la tabla de páginas; por lo que si la operación tuvo éxito, `old_addr` es el *final* de la región antigua, y agregarle `len` puede realizar un envoltorio. El desbordamiento hace que mremap() crea erróneamente que se han copiado las PTE; la consecuencia es que mremap() se retira, pero no mueve las PTE de nuevo antes de que se desasigne el nuevo VMA, lo que provoca que se pierdan las páginas anónimas en la región. Básicamente, si el espacio de usuario intenta ejecutar mremap() en una región privada-anon y encuentra este error, mremap() devolverá un error y el contenido de la región privada-anon parecerá haber sido puesto a cero. La idea de esta comprobación es que `old_end - len` sea la dirección de inicio original, y escribir la comprobación de esa manera también facilita la lectura; por lo tanto, arregle la comprobación reorganizando la comparación en consecuencia. (Un workaround sería refactorizar esta función introduciendo una variable "orig_old_start" o algo similar). Probado en una máquina virtual con un núcleo X86 de 32 bits; sin el parche: ``` usuario@horn:~/big_mremap$ cat test.c #define _GNU_SOURCE #include #include #include #include #define ADDR1 ((void*)0x60000000) #define ADDR2 ((void*)0x10000000) #define SIZE 0x50000000uL int main(void) { unsigned char *p1 = mmap(ADDR1, SIZE, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE|MAP_FIXED_NOREPLACE, -1, 0); if (p1 == MAP_FAILED) err(1, "mmap 1"); carácter sin signo *p2 = mmap(ADDR2, SIZE, PROT_NONE, MAP_ANONYMOUS|MAP_PRIVATE|MAP_FIXED_NOREPLACE, -1, 0); si (p2 == MAP_FAILED) err(1, "mmap 2"); *p1 = 0x41; printf("el primer carácter es 0x%02hhx\n", *p1); carácter sin signo *p3 = mremap(p1, SIZE, SIZE, MREMAP_MAYMOVE|MREMAP_FIXED, p2); si (p3 == MAP_FAILED) { printf("mremap() falló; el primer carácter es 0x%02hhx\n", *p1); } de lo contrario { printf("mremap() tuvo éxito; el primer carácter es 0x%02hhx\n", *p3); } } usuario@horn:~/big_mremap$ gcc -static -o test test.c usuario@horn:~/big_mremap$ setarch -R ./test el primer carácter es 0x41 mremap() falló; el primer carácter es 0x00 ``` Con el parche: ``` usuario@horn:~/big_mremap$ setarch -R ./test el primer carácter es 0x41 mremap() tuvo éxito; el primer carácter es 0x41 ```El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2024-53111. Detalles técnicos son conocidos, pero no hay ningún exploit público disponible.
Para el scanner Nessus se dispone de un plugin ID 214250 (SUSE SLES15 / openSUSE 15 Security Update : kernel (SUSE-SU-2025:0117-1)), que puede ayudar a determinar la existencia del riesgo analizado.
Una actualización a la versión 6.11.10 elimina esta vulnerabilidad. Aplicando el parche 909543dc279a/a4a282daf1a1 es posible eliminar el problema. El parche puede ser descargado de git.kernel.org. El mejor modo sugerido para mitigar el problema es Actualización.
La vulnerabilidad también está documentado en las bases de datos Tenable (214250) y CERT Bund (WID-SEC-2024-3575). Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Afectado
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- RESF Rocky Linux
- Dell NetWorker
- Dell Avamar
- IBM QRadar SIEM
- IBM DataPower Gateway
- Open Source Linux Kernel
Producto
Escribe
Proveedor
Nombre
Versión
Licencia
Sitio web
- Proveedor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Confiabilidad: 🔍
CVSSv3
VulDB Puntuación meta base: 5.5VulDB Puntuación meta temporal: 5.4
VulDB Puntuación base: 5.5
VulDB Puntuación temporal: 5.3
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍
NVD Puntuación base: 5.5
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complejidad | Autenticación | Confidencialidad | Integridad | Disponibilidad |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Puntuación base: 🔍
VulDB Puntuación temporal: 🔍
VulDB Confiabilidad: 🔍
Explotación
Clase: Escalada de privilegiosCWE: CWE-697
CAPEC: 🔍
ATT&CK: 🔍
Físico: En parte
Local: Sí
Remoto: En parte
Disponibilidad: 🔍
Estado: No está definido
EPSS Score: 🔍
EPSS Percentile: 🔍
Predicción de precios: 🔍
Estimación del precio actual: 🔍
| 0-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoy | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
Nessus ID: 214250
Nessus Nombre: SUSE SLES15 / openSUSE 15 Security Update : kernel (SUSE-SU-2025:0117-1)
Inteligencia de amenazas
Interés: 🔍Actores activos: 🔍
Grupos APT activos: 🔍
Contramedidas
Recomendación: ActualizaciónEstado: 🔍
Hora de 0 días: 🔍
Actualización: Kernel 6.11.10
Parche: 909543dc279a/a4a282daf1a1
Línea de tiempo
2024-11-19 🔍2024-12-02 🔍
2024-12-02 🔍
2026-02-14 🔍
Fuentes
Proveedor: kernel.orgAviso: git.kernel.org
Estado: Confirmado
CVE: CVE-2024-53111 (🔍)
GCVE (CVE): GCVE-0-2024-53111
GCVE (VulDB): GCVE-100-286539
CERT Bund: WID-SEC-2024-3575 - Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service
Artículo
Fecha de creación: 2024-12-02 15:03Actualizado: 2026-02-14 22:35
Cambios: 2024-12-02 15:03 (58), 2024-12-03 03:03 (1), 2024-12-12 05:14 (10), 2025-01-16 12:03 (2), 2026-02-14 22:35 (7)
Completo: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Sin comentarios aún. Idiomas: es + pt + en.
Por favor, inicie sesión para comentar.