Linux Kernel hasta 5.10.123/5.15.48/5.18.5 test_ftrace.ko ftrace_make_call denegación de servicio

| CVSS Puntuación meta temporal | Precio actual del exploit (≈) | Puntuación de interés CTI |
|---|---|---|
| 5.0 | $0-$5k | 0.00 |
Resumen
Se ha identificado una vulnerabilidad clasificada como crítica en Linux Kernel hasta 5.10.123/5.15.48/5.18.5. Resulta afectada una función desconocida dentro de la biblioteca test_ftrace.ko. Por la manipulación de un input desconocido se causa una vulnerabilidad de clase denegación de servicio. Esta vulnerabilidad está identificada como CVE-2022-49721. No hay ningún exploit disponible. Es recomendable actualizar el componente afectado.
Detalles
Una vulnerabilidad fue encontrada en Linux Kernel hasta 5.10.123/5.15.48/5.18.5 y clasificada como crítica. La función ftrace_make_call en la biblioteca test_ftrace.ko es afectada por esta vulnerabilidad. Mediante la manipulación de un input desconocido se causa una vulnerabilidad de clase denegación de servicio. Esto tiene repercusión sobre la la disponibilidad. El resumen de CVE es:
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: arm64: ftrace: gestiona PLT de manera consistente. A veces es necesario usar una entrada PLT para llamar a un trampolín ftrace. Esto lo gestionan ftrace_make_call() y ftrace_make_nop(), y cada uno tiene una lógica *casi* idéntica, pero esto no lo maneja ftrace_modify_call() desde su introducción en el commit: 3b23e4991fb66f6d ("arm64: implement ftrace with regs") Debido a esto, si alguna vez llamáramos a ftrace_modify_call() para un sitio de llamada que requiere una entrada PLT para un trampolín, entonces: a) Si la dirección anterior requiere un trampolín, ftrace_modify_call() usará una dirección fuera de rango para generar la instrucción de rama "anterior". Esto dará como resultado advertencias de aarch64_insn_gen_branch_imm() y ftrace_modify_code(), y no se modificará ninguna instrucción. Como ftrace_modify_call() devolverá un error, esto dará como resultado errores ftrace internos posteriores. b) Si la dirección anterior no requiere un trampolín, pero la nueva sí, ftrace_modify_call() usará una dirección fuera de rango para generar la instrucción de rama 'nueva'. Esto dará como resultado advertencias de aarch64_insn_gen_branch_imm(), y ftrace_modify_code() reemplazará la rama 'antigua' con un BRK. Esto dará como resultado un pánico del kernel cuando este BRK se ejecute más tarde. En términos prácticos, el caso (a) es mucho más probable que el caso (b), y normalmente esto dará como resultado errores ftrace internos que no necesariamente afectan al resto del sistema. Esto se puede demostrar con un módulo de prueba fuera del árbol que activa ftrace_modify_call(), e.g. | # insmod test_ftrace.ko | test_ftrace: Function test_function raw=0xffffb3749399201c, callsite=0xffffb37493992024 | branch_imm_common: offset out of range | branch_imm_common: offset out of range | ------------[ ftrace bug ]------------ | ftrace failed to modify | [] test_function+0x8/0x38 [test_ftrace] | actual: 1d:00:00:94 | Updating ftrace call site to call a different ftrace function | ftrace record flags: e0000002 | (2) R | expected tramp: ffffb374ae42ed54 | ------------[ cut here ]------------ | WARNING: CPU: 0 PID: 165 at kernel/trace/ftrace.c:2085 ftrace_bug+0x280/0x2b0 | Modules linked in: test_ftrace(+) | CPU: 0 PID: 165 Comm: insmod Not tainted 5.19.0-rc2-00002-g4d9ead8b45ce #13 | Hardware name: linux,dummy-virt (DT) | pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) | pc : ftrace_bug+0x280/0x2b0 | lr : ftrace_bug+0x280/0x2b0 | sp : ffff80000839ba00 | x29: ffff80000839ba00 x28: 0000000000000000 x27: ffff80000839bcf0 | x26: ffffb37493994180 x25: ffffb374b0991c28 x24: ffffb374b0d70000 | x23: 00000000ffffffea x22: ffffb374afcc33b0 x21: ffffb374b08f9cc8 | x20: ffff572b8462c000 x19: ffffb374b08f9000 x18: ffffffffffffffff | x17: 6c6c6163202c6331 x16: ffffb374ae5ad110 x15: ffffb374b0d51ee4 | x14: 0000000000000000 x13: 3435646532346561 x12: 3437336266666666 | x11: 203a706d61727420 x10: 6465746365707865 x9 : ffffb374ae5149e8 | x8 : 336266666666203a x7 : 706d617274206465 x6 : 00000000fffff167 | x5 : ffff572bffbc4a08 x4 : 00000000fffff167 x3 : 0000000000000000 | x2 : 0000000000000000 x1 : ffff572b84461e00 x0 : 0000000000000022 | Call trace: | ftrace_bug+0x280/0x2b0 | ftrace_replace_code+0x98/0xa0 | ftrace_modify_all_code+0xe0/0x144 | arch_ftrace_update_code+0x14/0x20 | ftrace_startup+0xf8/0x1b0 | register_ftrace_function+0x38/0x90 | test_ftrace_init+0xd0/0x1000 [test_ftrace] | do_one_initcall+0x50/0x2b0 | do_init_module+0x50/0x1f0 | load_module+0x17c8/0x1d64 | __do_sys_finit_module+0xa8/0x100 | __arm64_sys_finit_module+0x2c/0x3c | invoke_syscall+0x50/0x120 | el0_svc_common.constprop.0+0xdc/0x100 | do_el0_svc+0x3c/0xd0 | el0_svc+0x34/0xb0 | el0t_64_sync_handler+0xbc/0x140 | el0t_64_sync+0x18c/0x190 | ---[ end trace 0000000000000000 ]--- Podemos resolver esto determinando de manera consistente si se debe usar una entrada PLT para una dirección. Tenga en cuenta que desde el commit (anterior): f1a54ae9 ---truncada---El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2022-49721. Resulta difícil de explotar. Detalles técnicos son conocidos, pero no hay ningún exploit público disponible.
Una actualización a la versión 5.10.124, 5.15.49 o 5.18.6 elimina esta vulnerabilidad. Aplicando el parche bc28fde90937a920f7714ec4408269cac744f796/db73aa9466338ec821ed2a0b01721fe4d06876b1/dcecc96ed16f73417de5550f384e348c9d56f279/a6253579977e4c6f7818eeb05bf2bc65678a7187 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.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Producto
Escribe
Proveedor
Nombre
Versión
- 5.10.123
- 5.15.0
- 5.15.1
- 5.15.2
- 5.15.3
- 5.15.4
- 5.15.5
- 5.15.6
- 5.15.7
- 5.15.8
- 5.15.9
- 5.15.10
- 5.15.11
- 5.15.12
- 5.15.13
- 5.15.14
- 5.15.15
- 5.15.16
- 5.15.17
- 5.15.18
- 5.15.19
- 5.15.20
- 5.15.21
- 5.15.22
- 5.15.23
- 5.15.24
- 5.15.25
- 5.15.26
- 5.15.27
- 5.15.28
- 5.15.29
- 5.15.30
- 5.15.31
- 5.15.32
- 5.15.33
- 5.15.34
- 5.15.35
- 5.15.36
- 5.15.37
- 5.15.38
- 5.15.39
- 5.15.40
- 5.15.41
- 5.15.42
- 5.15.43
- 5.15.44
- 5.15.45
- 5.15.46
- 5.15.47
- 5.15.48
- 5.18.0
- 5.18.1
- 5.18.2
- 5.18.3
- 5.18.4
- 5.18.5
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.1VulDB Puntuación meta temporal: 5.0
VulDB Puntuación base: 4.8
VulDB Puntuación temporal: 4.6
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: Denegación de servicioCWE: CWE-404
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 |
Inteligencia de amenazas
Interés: 🔍Actores activos: 🔍
Grupos APT activos: 🔍
Contramedidas
Recomendación: ActualizaciónEstado: 🔍
Hora de 0 días: 🔍
Actualización: Kernel 5.10.124/5.15.49/5.18.6
Parche: bc28fde90937a920f7714ec4408269cac744f796/db73aa9466338ec821ed2a0b01721fe4d06876b1/dcecc96ed16f73417de5550f384e348c9d56f279/a6253579977e4c6f7818eeb05bf2bc65678a7187
Línea de tiempo
2025-02-26 🔍2025-02-26 🔍
2025-02-26 🔍
2025-10-24 🔍
Fuentes
Proveedor: kernel.orgAviso: git.kernel.org
Estado: Confirmado
CVE: CVE-2022-49721 (🔍)
GCVE (CVE): GCVE-0-2022-49721
GCVE (VulDB): GCVE-100-297211
Artículo
Fecha de creación: 2025-02-26 10:48Actualizado: 2025-10-24 20:33
Cambios: 2025-02-26 10:48 (59), 2025-10-24 20:33 (12)
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.